diff --git a/packages/fragments/src/FragmentsModels/src/edit/element.ts b/packages/fragments/src/FragmentsModels/src/edit/element.ts index d662538..22e3fa0 100644 --- a/packages/fragments/src/FragmentsModels/src/edit/element.ts +++ b/packages/fragments/src/FragmentsModels/src/edit/element.ts @@ -149,7 +149,7 @@ export class Element { async getData() { const result = await this.model.getItemsData( [this.localId], - this.config.data, + this.config.data ); return result[0]; } @@ -163,7 +163,7 @@ export class Element { config?: { disposeGeometry?: boolean; disposeMaterial?: boolean; - }, + } ) { const disposeGeometry = config?.disposeGeometry ?? true; const disposeMaterial = config?.disposeMaterial ?? true; @@ -207,7 +207,7 @@ export class Element { if (!meshData) { throw new Error( - `No geometry found for representation ${sample.representation}`, + `No geometry found for representation ${sample.representation}` ); } @@ -219,8 +219,14 @@ export class Element { // Material if (!materialList.has(sample.material)) { const { r, g, b, a } = this.core.materials[sample.material]; + const color = new THREE.Color().setRGB( + r / 255, + g / 255, + b / 255, + THREE.SRGBColorSpace + ); const material = new THREE.MeshLambertMaterial({ - color: new THREE.Color(r / 255, g / 255, b / 255), + color, transparent: true, opacity: a / 255, }); @@ -240,7 +246,7 @@ export class Element { geometry.setIndex(Array.from(indices)); geometry.setAttribute( "position", - new THREE.BufferAttribute(positions, 3), + new THREE.BufferAttribute(positions, 3) ); geometry.setAttribute("normal", new THREE.BufferAttribute(normals, 3)); geometry.userData.localId = sample.representation; @@ -482,19 +488,19 @@ export class Element { // Update the core data to have just the data referenced by the samples const matsToDelete = new Set( - Object.keys(this.core.materials).map(Number), + Object.keys(this.core.materials).map(Number) ); const ltsToDelete = new Set( - Object.keys(this.core.localTransforms).map(Number), + Object.keys(this.core.localTransforms).map(Number) ); const gtsToDelete = new Set( - Object.keys(this.core.globalTransforms).map(Number), + Object.keys(this.core.globalTransforms).map(Number) ); const repsToDelete = new Set( - Object.keys(this.core.representations).map(Number), + Object.keys(this.core.representations).map(Number) ); const materialsToGet = new Set(); diff --git a/packages/fragments/src/FragmentsModels/src/model/material-manager.ts b/packages/fragments/src/FragmentsModels/src/model/material-manager.ts index 03132be..853560b 100644 --- a/packages/fragments/src/FragmentsModels/src/model/material-manager.ts +++ b/packages/fragments/src/FragmentsModels/src/model/material-manager.ts @@ -26,7 +26,13 @@ export class MaterialManager { const { color } = definition; if (color.isColor) continue; const { r, g, b } = color; - definition.color = new THREE.Color(r, g, b); + // IFC colors are stored in sRBG color space + definition.color = new THREE.Color().setRGB( + r, + g, + b, + THREE.SRGBColorSpace + ); } } @@ -47,7 +53,7 @@ export class MaterialManager { const { modelId, objectClass, currentLod, templateId } = request; if (!(modelId && objectClass !== undefined && currentLod !== undefined)) { throw new Error( - "Fragments: material definition information is missing to create the material.", + "Fragments: material definition information is missing to create the material." ); } @@ -96,7 +102,7 @@ export class MaterialManager { materialDefinitions, index, request, - materials, + materials ); const first = highlightData.position[i]; const value = highlightData.size[i]; @@ -163,7 +169,7 @@ export class MaterialManager { } else if (objectClass === ObjectClass.LINE) { material = this.newLODMaterial( { data, instancing: templateId !== undefined }, - request, + request ); } else { throw new Error("Fragments: Unsupported object class"); @@ -187,7 +193,7 @@ export class MaterialManager { materialDefinitions: MaterialDefinition[], index: any, request: any, - materials: THREE.Material[], + materials: THREE.Material[] ) { if (!localMap.has(highlightIndex)) { const originalDefinition = materialDefinitions[index]; @@ -205,7 +211,7 @@ export class MaterialManager { private getUniqueMaterial( id: number, data: MaterialDefinition, - request: any, + request: any ) { const modelId = request.modelId; const material = this.list.get(id); diff --git a/packages/fragments/src/FragmentsModels/src/utils/geometry/parser-helper.ts b/packages/fragments/src/FragmentsModels/src/utils/geometry/parser-helper.ts index 55dd8f9..3fdbba7 100644 --- a/packages/fragments/src/FragmentsModels/src/utils/geometry/parser-helper.ts +++ b/packages/fragments/src/FragmentsModels/src/utils/geometry/parser-helper.ts @@ -25,7 +25,9 @@ export class ParserHelper { const b = material.b() / 255; const opacity = material.a() / 255; const transparent = material.a() < 255; - const color = new THREE.Color(r, g, b); + // IFC colors are stored in sRGB color space, so we need to tell Three.js + // to convert them to linear color space. + const color = new THREE.Color().setRGB(r, g, b, THREE.SRGBColorSpace); const renderedFaces = material.renderedFaces(); return { color, @@ -67,7 +69,7 @@ export class ParserHelper { private static getBox( data: BoundingBox, box: THREE.Box3, - point: "min" | "max", + point: "min" | "max" ) { data[point](this._floatVector); const x = this._floatVector.x(); @@ -81,7 +83,7 @@ export class ParserHelper { private static getVector( transform: Transform, name: "position" | "xDirection" | "yDirection", - vector: DoubleVector | FloatVector, + vector: DoubleVector | FloatVector ) { transform[name](vector); const parsed = this._temp[name] as THREE.Vector3; @@ -96,7 +98,7 @@ export class ParserHelper { private static computeZVector() { this._temp.zDirection.crossVectors( this._temp.xDirection, - this._temp.yDirection, + this._temp.yDirection ); } } diff --git a/resources/worker.mjs b/resources/worker.mjs index 9024ea9..7c2ce9d 100644 --- a/resources/worker.mjs +++ b/resources/worker.mjs @@ -4,4 +4,4 @@ var t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D,m,A,S,C,v,L,b,P,g,x,_,M,F,U,w, * Copyright 2010-2025 Three.js Authors * SPDX-License-Identifier: MIT */const It=1001,yt="srgb",Tt="srgb-linear",dt="linear",Nt="srgb",Rt=7680,ft=2e3,Ot=2001;class Dt{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const s=this._listeners;void 0===s[t]&&(s[t]=[]),-1===s[t].indexOf(e)&&s[t].push(e)}hasEventListener(t,e){const s=this._listeners;return void 0!==s&&(void 0!==s[t]&&-1!==s[t].indexOf(e))}removeEventListener(t,e){const s=this._listeners;if(void 0===s)return;const i=s[t];if(void 0!==i){const t=i.indexOf(e);-1!==t&&i.splice(t,1)}}dispatchEvent(t){const e=this._listeners;if(void 0===e)return;const s=e[t.type];if(void 0!==s){t.target=this;const e=s.slice(0);for(let s=0,i=e.length;s>8&255]+mt[t>>16&255]+mt[t>>24&255]+"-"+mt[255&e]+mt[e>>8&255]+"-"+mt[e>>16&15|64]+mt[e>>24&255]+"-"+mt[63&s|128]+mt[s>>8&255]+"-"+mt[s>>16&255]+mt[s>>24&255]+mt[255&i]+mt[i>>8&255]+mt[i>>16&255]+mt[i>>24&255]).toLowerCase()}function Lt(t,e,s){return Math.max(e,Math.min(s,t))}function bt(t,e){return(t%e+e)%e}function Pt(t,e,s){return(1-s)*t+s*e}function gt(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function xt(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(4294967295*t);case Uint16Array:return Math.round(65535*t);case Uint8Array:return Math.round(255*t);case Int32Array:return Math.round(2147483647*t);case Int16Array:return Math.round(32767*t);case Int8Array:return Math.round(127*t);default:throw new Error("Invalid component type.")}}const _t={DEG2RAD:St,RAD2DEG:Ct,generateUUID:vt,clamp:Lt,euclideanModulo:bt,mapLinear:function(t,e,s,i,r){return i+(t-e)*(r-i)/(s-e)},inverseLerp:function(t,e,s){return t!==e?(s-t)/(e-t):0},lerp:Pt,damp:function(t,e,s,i){return Pt(t,e,1-Math.exp(-s*i))},pingpong:function(t,e=1){return e-Math.abs(bt(t,2*e)-e)},smoothstep:function(t,e,s){return t<=e?0:t>=s?1:(t=(t-e)/(s-e))*t*(3-2*t)},smootherstep:function(t,e,s){return t<=e?0:t>=s?1:(t=(t-e)/(s-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){void 0!==t&&(At=t);let e=At+=1831565813;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296},degToRad:function(t){return t*St},radToDeg:function(t){return t*Ct},isPowerOfTwo:function(t){return!(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,e,s,i,r){const n=Math.cos,a=Math.sin,o=n(s/2),h=a(s/2),c=n((e+i)/2),l=a((e+i)/2),p=n((e-i)/2),u=a((e-i)/2),E=n((i-e)/2),I=a((i-e)/2);switch(r){case"XYX":t.set(o*l,h*p,h*u,o*c);break;case"YZY":t.set(h*u,o*l,h*p,o*c);break;case"ZXZ":t.set(h*p,h*u,o*l,o*c);break;case"XZX":t.set(o*l,h*I,h*E,o*c);break;case"YXY":t.set(h*E,o*l,h*I,o*c);break;case"ZYZ":t.set(h*I,h*E,o*l,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}},normalize:xt,denormalize:gt};class Mt{constructor(t=0,e=0){Mt.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,s=this.y,i=t.elements;return this.x=i[0]*e+i[3]*s+i[6],this.y=i[1]*e+i[4]*s+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Lt(this.x,t.x,e.x),this.y=Lt(this.y,t.y,e.y),this}clampScalar(t,e){return this.x=Lt(this.x,t,e),this.y=Lt(this.y,t,e),this}clampLength(t,e){const s=this.length();return this.divideScalar(s||1).multiplyScalar(Lt(s,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const s=this.dot(t)/e;return Math.acos(Lt(s,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,s=this.y-t.y;return e*e+s*s}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,s){return this.x=t.x+(e.x-t.x)*s,this.y=t.y+(e.y-t.y)*s,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const s=Math.cos(e),i=Math.sin(e),r=this.x-t.x,n=this.y-t.y;return this.x=r*s-n*i+t.x,this.y=r*i+n*s+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Ft{constructor(t,e,s,i,r,n,a,o,h){Ft.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==t&&this.set(t,e,s,i,r,n,a,o,h)}set(t,e,s,i,r,n,a,o,h){const c=this.elements;return c[0]=t,c[1]=i,c[2]=a,c[3]=e,c[4]=r,c[5]=o,c[6]=s,c[7]=n,c[8]=h,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,s=t.elements;return e[0]=s[0],e[1]=s[1],e[2]=s[2],e[3]=s[3],e[4]=s[4],e[5]=s[5],e[6]=s[6],e[7]=s[7],e[8]=s[8],this}extractBasis(t,e,s){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),s.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const s=t.elements,i=e.elements,r=this.elements,n=s[0],a=s[3],o=s[6],h=s[1],c=s[4],l=s[7],p=s[2],u=s[5],E=s[8],I=i[0],y=i[3],T=i[6],d=i[1],N=i[4],R=i[7],f=i[2],O=i[5],D=i[8];return r[0]=n*I+a*d+o*f,r[3]=n*y+a*N+o*O,r[6]=n*T+a*R+o*D,r[1]=h*I+c*d+l*f,r[4]=h*y+c*N+l*O,r[7]=h*T+c*R+l*D,r[2]=p*I+u*d+E*f,r[5]=p*y+u*N+E*O,r[8]=p*T+u*R+E*D,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],s=t[1],i=t[2],r=t[3],n=t[4],a=t[5],o=t[6],h=t[7],c=t[8];return e*n*c-e*a*h-s*r*c+s*a*o+i*r*h-i*n*o}invert(){const t=this.elements,e=t[0],s=t[1],i=t[2],r=t[3],n=t[4],a=t[5],o=t[6],h=t[7],c=t[8],l=c*n-a*h,p=a*o-c*r,u=h*r-n*o,E=e*l+s*p+i*u;if(0===E)return this.set(0,0,0,0,0,0,0,0,0);const I=1/E;return t[0]=l*I,t[1]=(i*h-c*s)*I,t[2]=(a*s-i*n)*I,t[3]=p*I,t[4]=(c*e-i*o)*I,t[5]=(i*r-a*e)*I,t[6]=u*I,t[7]=(s*o-h*e)*I,t[8]=(n*e-s*r)*I,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return 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],this}setUvTransform(t,e,s,i,r,n,a){const o=Math.cos(r),h=Math.sin(r);return this.set(s*o,s*h,-s*(o*n+h*a)+n+t,-i*h,i*o,-i*(-h*n+o*a)+a+e,0,0,1),this}scale(t,e){return this.premultiply(Ut.makeScale(t,e)),this}rotate(t){return this.premultiply(Ut.makeRotation(-t)),this}translate(t,e){return this.premultiply(Ut.makeTranslation(t,e)),this}makeTranslation(t,e){return t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){const e=Math.cos(t),s=Math.sin(t);return this.set(e,-s,0,s,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){const e=this.elements,s=t.elements;for(let t=0;t<9;t++)if(e[t]!==s[t])return!1;return!0}fromArray(t,e=0){for(let s=0;s<9;s++)this.elements[s]=t[s+e];return this}toArray(t=[],e=0){const s=this.elements;return t[e]=s[0],t[e+1]=s[1],t[e+2]=s[2],t[e+3]=s[3],t[e+4]=s[4],t[e+5]=s[5],t[e+6]=s[6],t[e+7]=s[7],t[e+8]=s[8],t}clone(){return(new this.constructor).fromArray(this.elements)}}const Ut=new Ft;function wt(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}const Gt=(new Ft).set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),Ht=(new Ft).set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function Bt(){const t={enabled:!0,workingColorSpace:Tt,spaces:{},convert:function(t,e,s){return!1!==this.enabled&&e!==s&&e&&s?(this.spaces[e].transfer===Nt&&(t.r=Wt(t.r),t.g=Wt(t.g),t.b=Wt(t.b)),this.spaces[e].primaries!==this.spaces[s].primaries&&(t.applyMatrix3(this.spaces[e].toXYZ),t.applyMatrix3(this.spaces[s].fromXYZ)),this.spaces[s].transfer===Nt&&(t.r=jt(t.r),t.g=jt(t.g),t.b=jt(t.b)),t):t},fromWorkingColorSpace:function(t,e){return this.convert(t,this.workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this.workingColorSpace)},getPrimaries:function(t){return this.spaces[t].primaries},getTransfer:function(t){return""===t?dt:this.spaces[t].transfer},getLuminanceCoefficients:function(t,e=this.workingColorSpace){return t.fromArray(this.spaces[e].luminanceCoefficients)},define:function(t){Object.assign(this.spaces,t)},_getMatrix:function(t,e,s){return t.copy(this.spaces[e].toXYZ).multiply(this.spaces[s].fromXYZ)},_getDrawingBufferColorSpace:function(t){return this.spaces[t].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(t=this.workingColorSpace){return this.spaces[t].workingColorSpaceConfig.unpackColorSpace}},e=[.64,.33,.3,.6,.15,.06],s=[.2126,.7152,.0722],i=[.3127,.329];return t.define({[Tt]:{primaries:e,whitePoint:i,transfer:dt,toXYZ:Gt,fromXYZ:Ht,luminanceCoefficients:s,workingColorSpaceConfig:{unpackColorSpace:yt},outputColorSpaceConfig:{drawingBufferColorSpace:yt}},[yt]:{primaries:e,whitePoint:i,transfer:Nt,toXYZ:Gt,fromXYZ:Ht,luminanceCoefficients:s,outputColorSpaceConfig:{drawingBufferColorSpace:yt}}}),t}const Vt=Bt();function Wt(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function jt(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}let Yt;class zt{static getDataURL(t,e="image/png"){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let s;if(t instanceof HTMLCanvasElement)s=t;else{void 0===Yt&&(Yt=wt("canvas")),Yt.width=t.width,Yt.height=t.height;const e=Yt.getContext("2d");t instanceof ImageData?e.putImageData(t,0,0):e.drawImage(t,0,0,t.width,t.height),s=Yt}return s.toDataURL(e)}static sRGBToLinear(t){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const e=wt("canvas");e.width=t.width,e.height=t.height;const s=e.getContext("2d");s.drawImage(t,0,0,t.width,t.height);const i=s.getImageData(0,0,t.width,t.height),r=i.data;for(let t=0;t0&&(s.userData=this.userData),e||(t.textures[this.uuid]=s),s}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(300!==this.mapping)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case 1e3:t.x=t.x-Math.floor(t.x);break;case It:t.x=t.x<0?0:1;break;case 1002:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case 1e3:t.y=t.y-Math.floor(t.y);break;case It:t.y=t.y<0?0:1;break;case 1002:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(t){!0===t&&this.pmremVersion++}}qt.DEFAULT_IMAGE=null,qt.DEFAULT_MAPPING=300,qt.DEFAULT_ANISOTROPY=1;class Qt{constructor(t=0,e=0,s=0,i=1){Qt.prototype.isVector4=!0,this.x=t,this.y=e,this.z=s,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,s,i){return this.x=t,this.y=e,this.z=s,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,s=this.y,i=this.z,r=this.w,n=t.elements;return this.x=n[0]*e+n[4]*s+n[8]*i+n[12]*r,this.y=n[1]*e+n[5]*s+n[9]*i+n[13]*r,this.z=n[2]*e+n[6]*s+n[10]*i+n[14]*r,this.w=n[3]*e+n[7]*s+n[11]*i+n[15]*r,this}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,s,i,r;const n=.01,a=.1,o=t.elements,h=o[0],c=o[4],l=o[8],p=o[1],u=o[5],E=o[9],I=o[2],y=o[6],T=o[10];if(Math.abs(c-p)o&&t>d?td?o=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),n=Math.atan2(r,e*s);t=Math.sin(t*n)/r,a=Math.sin(a*n)/r}const r=a*s;if(o=o*t+p*r,h=h*t+u*r,c=c*t+E*r,l=l*t+I*r,t===1-a){const t=1/Math.sqrt(o*o+h*h+c*c+l*l);o*=t,h*=t,c*=t,l*=t}}t[e]=o,t[e+1]=h,t[e+2]=c,t[e+3]=l}static multiplyQuaternionsFlat(t,e,s,i,r,n){const a=s[i],o=s[i+1],h=s[i+2],c=s[i+3],l=r[n],p=r[n+1],u=r[n+2],E=r[n+3];return t[e]=a*E+c*l+o*u-h*p,t[e+1]=o*E+c*p+h*l-a*u,t[e+2]=h*E+c*u+a*p-o*l,t[e+3]=c*E-a*l-o*p-h*u,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,s,i){return this._x=t,this._y=e,this._z=s,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e=!0){const s=t._x,i=t._y,r=t._z,n=t._order,a=Math.cos,o=Math.sin,h=a(s/2),c=a(i/2),l=a(r/2),p=o(s/2),u=o(i/2),E=o(r/2);switch(n){case"XYZ":this._x=p*c*l+h*u*E,this._y=h*u*l-p*c*E,this._z=h*c*E+p*u*l,this._w=h*c*l-p*u*E;break;case"YXZ":this._x=p*c*l+h*u*E,this._y=h*u*l-p*c*E,this._z=h*c*E-p*u*l,this._w=h*c*l+p*u*E;break;case"ZXY":this._x=p*c*l-h*u*E,this._y=h*u*l+p*c*E,this._z=h*c*E+p*u*l,this._w=h*c*l-p*u*E;break;case"ZYX":this._x=p*c*l-h*u*E,this._y=h*u*l+p*c*E,this._z=h*c*E-p*u*l,this._w=h*c*l+p*u*E;break;case"YZX":this._x=p*c*l+h*u*E,this._y=h*u*l+p*c*E,this._z=h*c*E-p*u*l,this._w=h*c*l-p*u*E;break;case"XZY":this._x=p*c*l-h*u*E,this._y=h*u*l-p*c*E,this._z=h*c*E+p*u*l,this._w=h*c*l+p*u*E;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+n)}return!0===e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const s=e/2,i=Math.sin(s);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(s),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,s=e[0],i=e[4],r=e[8],n=e[1],a=e[5],o=e[9],h=e[2],c=e[6],l=e[10],p=s+a+l;if(p>0){const t=.5/Math.sqrt(p+1);this._w=.25/t,this._x=(c-o)*t,this._y=(r-h)*t,this._z=(n-i)*t}else if(s>a&&s>l){const t=2*Math.sqrt(1+s-a-l);this._w=(c-o)/t,this._x=.25*t,this._y=(i+n)/t,this._z=(r+h)/t}else if(a>l){const t=2*Math.sqrt(1+a-s-l);this._w=(r-h)/t,this._x=(i+n)/t,this._y=.25*t,this._z=(o+c)/t}else{const t=2*Math.sqrt(1+l-s-a);this._w=(n-i)/t,this._x=(r+h)/t,this._y=(o+c)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let s=t.dot(e)+1;return sMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=s):(this._x=0,this._y=-t.z,this._z=t.y,this._w=s)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=s),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(Lt(this.dot(t),-1,1)))}rotateTowards(t,e){const s=this.angleTo(t);if(0===s)return this;const i=Math.min(1,e/s);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const s=t._x,i=t._y,r=t._z,n=t._w,a=e._x,o=e._y,h=e._z,c=e._w;return this._x=s*c+n*a+i*h-r*o,this._y=i*c+n*o+r*a-s*h,this._z=r*c+n*h+s*o-i*a,this._w=n*c-s*a-i*o-r*h,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const s=this._x,i=this._y,r=this._z,n=this._w;let a=n*t._w+s*t._x+i*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=n,this._x=s,this._y=i,this._z=r,this;const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;return this._w=t*n+e*this._w,this._x=t*s+e*this._x,this._y=t*i+e*this._y,this._z=t*r+e*this._z,this.normalize(),this}const h=Math.sqrt(o),c=Math.atan2(h,a),l=Math.sin((1-e)*c)/h,p=Math.sin(e*c)/h;return this._w=n*l+this._w*p,this._x=s*l+this._x*p,this._y=i*l+this._y*p,this._z=r*l+this._z*p,this._onChangeCallback(),this}slerpQuaternions(t,e,s){return this.copy(t).slerp(e,s)}random(){const t=2*Math.PI*Math.random(),e=2*Math.PI*Math.random(),s=Math.random(),i=Math.sqrt(1-s),r=Math.sqrt(s);return this.set(i*Math.sin(t),i*Math.cos(t),r*Math.sin(e),r*Math.cos(e))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class $t{constructor(t=0,e=0,s=0){$t.prototype.isVector3=!0,this.x=t,this.y=e,this.z=s}set(t,e,s){return void 0===s&&(s=this.z),this.x=t,this.y=e,this.z=s,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(ee.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(ee.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,s=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*s+r[6]*i,this.y=r[1]*e+r[4]*s+r[7]*i,this.z=r[2]*e+r[5]*s+r[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,s=this.y,i=this.z,r=t.elements,n=1/(r[3]*e+r[7]*s+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*s+r[8]*i+r[12])*n,this.y=(r[1]*e+r[5]*s+r[9]*i+r[13])*n,this.z=(r[2]*e+r[6]*s+r[10]*i+r[14])*n,this}applyQuaternion(t){const e=this.x,s=this.y,i=this.z,r=t.x,n=t.y,a=t.z,o=t.w,h=2*(n*i-a*s),c=2*(a*e-r*i),l=2*(r*s-n*e);return this.x=e+o*h+n*l-a*c,this.y=s+o*c+a*h-r*l,this.z=i+o*l+r*c-n*h,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,s=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*s+r[8]*i,this.y=r[1]*e+r[5]*s+r[9]*i,this.z=r[2]*e+r[6]*s+r[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Lt(this.x,t.x,e.x),this.y=Lt(this.y,t.y,e.y),this.z=Lt(this.z,t.z,e.z),this}clampScalar(t,e){return this.x=Lt(this.x,t,e),this.y=Lt(this.y,t,e),this.z=Lt(this.z,t,e),this}clampLength(t,e){const s=this.length();return this.divideScalar(s||1).multiplyScalar(Lt(s,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,s){return this.x=t.x+(e.x-t.x)*s,this.y=t.y+(e.y-t.y)*s,this.z=t.z+(e.z-t.z)*s,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){const s=t.x,i=t.y,r=t.z,n=e.x,a=e.y,o=e.z;return this.x=i*o-r*a,this.y=r*n-s*o,this.z=s*a-i*n,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const s=t.dot(this)/e;return this.copy(t).multiplyScalar(s)}projectOnPlane(t){return te.copy(this).projectOnVector(t),this.sub(te)}reflect(t){return this.sub(te.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const s=this.dot(t)/e;return Math.acos(Lt(s,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,s=this.y-t.y,i=this.z-t.z;return e*e+s*s+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,s){const i=Math.sin(e)*t;return this.x=i*Math.sin(s),this.y=Math.cos(e)*t,this.z=i*Math.cos(s),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,s){return this.x=t*Math.sin(e),this.y=s,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),s=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=s,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=Math.random()*Math.PI*2,e=2*Math.random()-1,s=Math.sqrt(1-e*e);return this.x=s*Math.cos(t),this.y=e,this.z=s*Math.sin(t),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const te=new $t,ee=new Jt;class se{constructor(t=new $t(1/0,1/0,1/0),e=new $t(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,s=t.length;e=this.min.x&&t.x<=this.max.x&&t.y>=this.min.y&&t.y<=this.max.y&&t.z>=this.min.z&&t.z<=this.max.z}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return t.max.x>=this.min.x&&t.min.x<=this.max.x&&t.max.y>=this.min.y&&t.min.y<=this.max.y&&t.max.z>=this.min.z&&t.min.z<=this.max.z}intersectsSphere(t){return this.clampPoint(t.center,re),re.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,s;return t.normal.x>0?(e=t.normal.x*this.min.x,s=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,s=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,s+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,s+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,s+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,s+=t.normal.z*this.min.z),e<=-t.constant&&s>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(ue),Ee.subVectors(this.max,ue),ae.subVectors(t.a,ue),oe.subVectors(t.b,ue),he.subVectors(t.c,ue),ce.subVectors(oe,ae),le.subVectors(he,oe),pe.subVectors(ae,he);let e=[0,-ce.z,ce.y,0,-le.z,le.y,0,-pe.z,pe.y,ce.z,0,-ce.x,le.z,0,-le.x,pe.z,0,-pe.x,-ce.y,ce.x,0,-le.y,le.x,0,-pe.y,pe.x,0];return!!Te(e,ae,oe,he,Ee)&&(e=[1,0,0,0,1,0,0,0,1],!!Te(e,ae,oe,he,Ee)&&(Ie.crossVectors(ce,le),e=[Ie.x,Ie.y,Ie.z],Te(e,ae,oe,he,Ee)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,re).distanceTo(t)}getBoundingSphere(t){return this.isEmpty()?t.makeEmpty():(this.getCenter(t.center),t.radius=.5*this.getSize(re).length()),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(ie[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),ie[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),ie[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),ie[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),ie[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),ie[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),ie[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),ie[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(ie)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const ie=[new $t,new $t,new $t,new $t,new $t,new $t,new $t,new $t],re=new $t,ne=new se,ae=new $t,oe=new $t,he=new $t,ce=new $t,le=new $t,pe=new $t,ue=new $t,Ee=new $t,Ie=new $t,ye=new $t;function Te(t,e,s,i,r){for(let n=0,a=t.length-3;n<=a;n+=3){ye.fromArray(t,n);const a=r.x*Math.abs(ye.x)+r.y*Math.abs(ye.y)+r.z*Math.abs(ye.z),o=e.dot(ye),h=s.dot(ye),c=i.dot(ye);if(Math.max(-Math.max(o,h,c),Math.min(o,h,c))>a)return!1}return!0}const de=new se,Ne=new $t,Re=new $t;class fe{constructor(t=new $t,e=-1){this.isSphere=!0,this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const s=this.center;void 0!==e?s.copy(e):de.setFromPoints(t).getCenter(s);let i=0;for(let e=0,r=t.length;ethis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){if(this.isEmpty())return this.center.copy(t),this.radius=0,this;Ne.subVectors(t,this.center);const e=Ne.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),s=.5*(t-this.radius);this.center.addScaledVector(Ne,s/t),this.radius+=s}return this}union(t){return t.isEmpty()?this:this.isEmpty()?(this.copy(t),this):(!0===this.center.equals(t.center)?this.radius=Math.max(this.radius,t.radius):(Re.subVectors(t.center,this.center).setLength(t.radius),this.expandByPoint(Ne.copy(t.center).add(Re)),this.expandByPoint(Ne.copy(t.center).sub(Re))),this)}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Oe=new $t,De=new $t,me=new $t,Ae=new $t,Se=new $t,Ce=new $t,ve=new $t;class Le{constructor(t=new $t,e=new $t(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Oe)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const s=e.dot(this.direction);return s<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,s)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Oe.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Oe.copy(this.origin).addScaledVector(this.direction,e),Oe.distanceToSquared(t))}distanceSqToSegment(t,e,s,i){De.copy(t).add(e).multiplyScalar(.5),me.copy(e).sub(t).normalize(),Ae.copy(this.origin).sub(De);const r=.5*t.distanceTo(e),n=-this.direction.dot(me),a=Ae.dot(this.direction),o=-Ae.dot(me),h=Ae.lengthSq(),c=Math.abs(1-n*n);let l,p,u,E;if(c>0)if(l=n*o-a,p=n*a-o,E=r*c,l>=0)if(p>=-E)if(p<=E){const t=1/c;l*=t,p*=t,u=l*(l+n*p+2*a)+p*(n*l+p+2*o)+h}else p=r,l=Math.max(0,-(n*p+a)),u=-l*l+p*(p+2*o)+h;else p=-r,l=Math.max(0,-(n*p+a)),u=-l*l+p*(p+2*o)+h;else p<=-E?(l=Math.max(0,-(-n*r+a)),p=l>0?-r:Math.min(Math.max(-r,-o),r),u=-l*l+p*(p+2*o)+h):p<=E?(l=0,p=Math.min(Math.max(-r,-o),r),u=p*(p+2*o)+h):(l=Math.max(0,-(n*r+a)),p=l>0?r:Math.min(Math.max(-r,-o),r),u=-l*l+p*(p+2*o)+h);else p=n>0?-r:r,l=Math.max(0,-(n*p+a)),u=-l*l+p*(p+2*o)+h;return s&&s.copy(this.origin).addScaledVector(this.direction,l),i&&i.copy(De).addScaledVector(me,p),u}intersectSphere(t,e){Oe.subVectors(t.center,this.origin);const s=Oe.dot(this.direction),i=Oe.dot(Oe)-s*s,r=t.radius*t.radius;if(i>r)return null;const n=Math.sqrt(r-i),a=s-n,o=s+n;return o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const s=-(this.origin.dot(t.normal)+t.constant)/e;return s>=0?s:null}intersectPlane(t,e){const s=this.distanceToPlane(t);return null===s?null:this.at(s,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(0===e)return!0;return t.normal.dot(this.direction)*e<0}intersectBox(t,e){let s,i,r,n,a,o;const h=1/this.direction.x,c=1/this.direction.y,l=1/this.direction.z,p=this.origin;return h>=0?(s=(t.min.x-p.x)*h,i=(t.max.x-p.x)*h):(s=(t.max.x-p.x)*h,i=(t.min.x-p.x)*h),c>=0?(r=(t.min.y-p.y)*c,n=(t.max.y-p.y)*c):(r=(t.max.y-p.y)*c,n=(t.min.y-p.y)*c),s>n||r>i?null:((r>s||isNaN(s))&&(s=r),(n=0?(a=(t.min.z-p.z)*l,o=(t.max.z-p.z)*l):(a=(t.max.z-p.z)*l,o=(t.min.z-p.z)*l),s>o||a>i?null:((a>s||s!=s)&&(s=a),(o=0?s:i,e)))}intersectsBox(t){return null!==this.intersectBox(t,Oe)}intersectTriangle(t,e,s,i,r){Se.subVectors(e,t),Ce.subVectors(s,t),ve.crossVectors(Se,Ce);let n,a=this.direction.dot(ve);if(a>0){if(i)return null;n=1}else{if(!(a<0))return null;n=-1,a=-a}Ae.subVectors(this.origin,t);const o=n*this.direction.dot(Ce.crossVectors(Ae,Ce));if(o<0)return null;const h=n*this.direction.dot(Se.cross(Ae));if(h<0)return null;if(o+h>a)return null;const c=-n*Ae.dot(ve);return c<0?null:this.at(c/a,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class be{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y){be.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==t&&this.set(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y)}set(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y){const T=this.elements;return T[0]=t,T[4]=e,T[8]=s,T[12]=i,T[1]=r,T[5]=n,T[9]=a,T[13]=o,T[2]=h,T[6]=c,T[10]=l,T[14]=p,T[3]=u,T[7]=E,T[11]=I,T[15]=y,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new be).fromArray(this.elements)}copy(t){const e=this.elements,s=t.elements;return e[0]=s[0],e[1]=s[1],e[2]=s[2],e[3]=s[3],e[4]=s[4],e[5]=s[5],e[6]=s[6],e[7]=s[7],e[8]=s[8],e[9]=s[9],e[10]=s[10],e[11]=s[11],e[12]=s[12],e[13]=s[13],e[14]=s[14],e[15]=s[15],this}copyPosition(t){const e=this.elements,s=t.elements;return e[12]=s[12],e[13]=s[13],e[14]=s[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,s){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),s.setFromMatrixColumn(this,2),this}makeBasis(t,e,s){return this.set(t.x,e.x,s.x,0,t.y,e.y,s.y,0,t.z,e.z,s.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,s=t.elements,i=1/Pe.setFromMatrixColumn(t,0).length(),r=1/Pe.setFromMatrixColumn(t,1).length(),n=1/Pe.setFromMatrixColumn(t,2).length();return e[0]=s[0]*i,e[1]=s[1]*i,e[2]=s[2]*i,e[3]=0,e[4]=s[4]*r,e[5]=s[5]*r,e[6]=s[6]*r,e[7]=0,e[8]=s[8]*n,e[9]=s[9]*n,e[10]=s[10]*n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){const e=this.elements,s=t.x,i=t.y,r=t.z,n=Math.cos(s),a=Math.sin(s),o=Math.cos(i),h=Math.sin(i),c=Math.cos(r),l=Math.sin(r);if("XYZ"===t.order){const t=n*c,s=n*l,i=a*c,r=a*l;e[0]=o*c,e[4]=-o*l,e[8]=h,e[1]=s+i*h,e[5]=t-r*h,e[9]=-a*o,e[2]=r-t*h,e[6]=i+s*h,e[10]=n*o}else if("YXZ"===t.order){const t=o*c,s=o*l,i=h*c,r=h*l;e[0]=t+r*a,e[4]=i*a-s,e[8]=n*h,e[1]=n*l,e[5]=n*c,e[9]=-a,e[2]=s*a-i,e[6]=r+t*a,e[10]=n*o}else if("ZXY"===t.order){const t=o*c,s=o*l,i=h*c,r=h*l;e[0]=t-r*a,e[4]=-n*l,e[8]=i+s*a,e[1]=s+i*a,e[5]=n*c,e[9]=r-t*a,e[2]=-n*h,e[6]=a,e[10]=n*o}else if("ZYX"===t.order){const t=n*c,s=n*l,i=a*c,r=a*l;e[0]=o*c,e[4]=i*h-s,e[8]=t*h+r,e[1]=o*l,e[5]=r*h+t,e[9]=s*h-i,e[2]=-h,e[6]=a*o,e[10]=n*o}else if("YZX"===t.order){const t=n*o,s=n*h,i=a*o,r=a*h;e[0]=o*c,e[4]=r-t*l,e[8]=i*l+s,e[1]=l,e[5]=n*c,e[9]=-a*c,e[2]=-h*c,e[6]=s*l+i,e[10]=t-r*l}else if("XZY"===t.order){const t=n*o,s=n*h,i=a*o,r=a*h;e[0]=o*c,e[4]=-l,e[8]=h*c,e[1]=t*l+r,e[5]=n*c,e[9]=s*l-i,e[2]=i*l-s,e[6]=a*c,e[10]=r*l+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(xe,t,_e)}lookAt(t,e,s){const i=this.elements;return Ue.subVectors(t,e),0===Ue.lengthSq()&&(Ue.z=1),Ue.normalize(),Me.crossVectors(s,Ue),0===Me.lengthSq()&&(1===Math.abs(s.z)?Ue.x+=1e-4:Ue.z+=1e-4,Ue.normalize(),Me.crossVectors(s,Ue)),Me.normalize(),Fe.crossVectors(Ue,Me),i[0]=Me.x,i[4]=Fe.x,i[8]=Ue.x,i[1]=Me.y,i[5]=Fe.y,i[9]=Ue.y,i[2]=Me.z,i[6]=Fe.z,i[10]=Ue.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const s=t.elements,i=e.elements,r=this.elements,n=s[0],a=s[4],o=s[8],h=s[12],c=s[1],l=s[5],p=s[9],u=s[13],E=s[2],I=s[6],y=s[10],T=s[14],d=s[3],N=s[7],R=s[11],f=s[15],O=i[0],D=i[4],m=i[8],A=i[12],S=i[1],C=i[5],v=i[9],L=i[13],b=i[2],P=i[6],g=i[10],x=i[14],_=i[3],M=i[7],F=i[11],U=i[15];return r[0]=n*O+a*S+o*b+h*_,r[4]=n*D+a*C+o*P+h*M,r[8]=n*m+a*v+o*g+h*F,r[12]=n*A+a*L+o*x+h*U,r[1]=c*O+l*S+p*b+u*_,r[5]=c*D+l*C+p*P+u*M,r[9]=c*m+l*v+p*g+u*F,r[13]=c*A+l*L+p*x+u*U,r[2]=E*O+I*S+y*b+T*_,r[6]=E*D+I*C+y*P+T*M,r[10]=E*m+I*v+y*g+T*F,r[14]=E*A+I*L+y*x+T*U,r[3]=d*O+N*S+R*b+f*_,r[7]=d*D+N*C+R*P+f*M,r[11]=d*m+N*v+R*g+f*F,r[15]=d*A+N*L+R*x+f*U,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],s=t[4],i=t[8],r=t[12],n=t[1],a=t[5],o=t[9],h=t[13],c=t[2],l=t[6],p=t[10],u=t[14];return t[3]*(+r*o*l-i*h*l-r*a*p+s*h*p+i*a*u-s*o*u)+t[7]*(+e*o*u-e*h*p+r*n*p-i*n*u+i*h*c-r*o*c)+t[11]*(+e*h*l-e*a*u-r*n*l+s*n*u+r*a*c-s*h*c)+t[15]*(-i*a*c-e*o*l+e*a*p+i*n*l-s*n*p+s*o*c)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,s){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=s),this}invert(){const t=this.elements,e=t[0],s=t[1],i=t[2],r=t[3],n=t[4],a=t[5],o=t[6],h=t[7],c=t[8],l=t[9],p=t[10],u=t[11],E=t[12],I=t[13],y=t[14],T=t[15],d=l*y*h-I*p*h+I*o*u-a*y*u-l*o*T+a*p*T,N=E*p*h-c*y*h-E*o*u+n*y*u+c*o*T-n*p*T,R=c*I*h-E*l*h+E*a*u-n*I*u-c*a*T+n*l*T,f=E*l*o-c*I*o-E*a*p+n*I*p+c*a*y-n*l*y,O=e*d+s*N+i*R+r*f;if(0===O)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/O;return t[0]=d*D,t[1]=(I*p*r-l*y*r-I*i*u+s*y*u+l*i*T-s*p*T)*D,t[2]=(a*y*r-I*o*r+I*i*h-s*y*h-a*i*T+s*o*T)*D,t[3]=(l*o*r-a*p*r-l*i*h+s*p*h+a*i*u-s*o*u)*D,t[4]=N*D,t[5]=(c*y*r-E*p*r+E*i*u-e*y*u-c*i*T+e*p*T)*D,t[6]=(E*o*r-n*y*r-E*i*h+e*y*h+n*i*T-e*o*T)*D,t[7]=(n*p*r-c*o*r+c*i*h-e*p*h-n*i*u+e*o*u)*D,t[8]=R*D,t[9]=(E*l*r-c*I*r-E*s*u+e*I*u+c*s*T-e*l*T)*D,t[10]=(n*I*r-E*a*r+E*s*h-e*I*h-n*s*T+e*a*T)*D,t[11]=(c*a*r-n*l*r-c*s*h+e*l*h+n*s*u-e*a*u)*D,t[12]=f*D,t[13]=(c*I*i-E*l*i+E*s*p-e*I*p-c*s*y+e*l*y)*D,t[14]=(E*a*i-n*I*i-E*s*o+e*I*o+n*s*y-e*a*y)*D,t[15]=(n*l*i-c*a*i+c*s*o-e*l*o-n*s*p+e*a*p)*D,this}scale(t){const e=this.elements,s=t.x,i=t.y,r=t.z;return e[0]*=s,e[4]*=i,e[8]*=r,e[1]*=s,e[5]*=i,e[9]*=r,e[2]*=s,e[6]*=i,e[10]*=r,e[3]*=s,e[7]*=i,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],s=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,s,i))}makeTranslation(t,e,s){return t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,s,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),s=Math.sin(t);return this.set(1,0,0,0,0,e,-s,0,0,s,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),s=Math.sin(t);return this.set(e,0,s,0,0,1,0,0,-s,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),s=Math.sin(t);return this.set(e,-s,0,0,s,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const s=Math.cos(e),i=Math.sin(e),r=1-s,n=t.x,a=t.y,o=t.z,h=r*n,c=r*a;return this.set(h*n+s,h*a-i*o,h*o+i*a,0,h*a+i*o,c*a+s,c*o-i*n,0,h*o-i*a,c*o+i*n,r*o*o+s,0,0,0,0,1),this}makeScale(t,e,s){return this.set(t,0,0,0,0,e,0,0,0,0,s,0,0,0,0,1),this}makeShear(t,e,s,i,r,n){return this.set(1,s,r,0,t,1,n,0,e,i,1,0,0,0,0,1),this}compose(t,e,s){const i=this.elements,r=e._x,n=e._y,a=e._z,o=e._w,h=r+r,c=n+n,l=a+a,p=r*h,u=r*c,E=r*l,I=n*c,y=n*l,T=a*l,d=o*h,N=o*c,R=o*l,f=s.x,O=s.y,D=s.z;return i[0]=(1-(I+T))*f,i[1]=(u+R)*f,i[2]=(E-N)*f,i[3]=0,i[4]=(u-R)*O,i[5]=(1-(p+T))*O,i[6]=(y+d)*O,i[7]=0,i[8]=(E+N)*D,i[9]=(y-d)*D,i[10]=(1-(p+I))*D,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,s){const i=this.elements;let r=Pe.set(i[0],i[1],i[2]).length();const n=Pe.set(i[4],i[5],i[6]).length(),a=Pe.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],ge.copy(this);const o=1/r,h=1/n,c=1/a;return ge.elements[0]*=o,ge.elements[1]*=o,ge.elements[2]*=o,ge.elements[4]*=h,ge.elements[5]*=h,ge.elements[6]*=h,ge.elements[8]*=c,ge.elements[9]*=c,ge.elements[10]*=c,e.setFromRotationMatrix(ge),s.x=r,s.y=n,s.z=a,this}makePerspective(t,e,s,i,r,n,a=2e3){const o=this.elements,h=2*r/(e-t),c=2*r/(s-i),l=(e+t)/(e-t),p=(s+i)/(s-i);let u,E;if(a===ft)u=-(n+r)/(n-r),E=-2*n*r/(n-r);else{if(a!==Ot)throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);u=-n/(n-r),E=-n*r/(n-r)}return o[0]=h,o[4]=0,o[8]=l,o[12]=0,o[1]=0,o[5]=c,o[9]=p,o[13]=0,o[2]=0,o[6]=0,o[10]=u,o[14]=E,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this}makeOrthographic(t,e,s,i,r,n,a=2e3){const o=this.elements,h=1/(e-t),c=1/(s-i),l=1/(n-r),p=(e+t)*h,u=(s+i)*c;let E,I;if(a===ft)E=(n+r)*l,I=-2*l;else{if(a!==Ot)throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);E=r*l,I=-1*l}return o[0]=2*h,o[4]=0,o[8]=0,o[12]=-p,o[1]=0,o[5]=2*c,o[9]=0,o[13]=-u,o[2]=0,o[6]=0,o[10]=I,o[14]=-E,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this}equals(t){const e=this.elements,s=t.elements;for(let t=0;t<16;t++)if(e[t]!==s[t])return!1;return!0}fromArray(t,e=0){for(let s=0;s<16;s++)this.elements[s]=t[s+e];return this}toArray(t=[],e=0){const s=this.elements;return t[e]=s[0],t[e+1]=s[1],t[e+2]=s[2],t[e+3]=s[3],t[e+4]=s[4],t[e+5]=s[5],t[e+6]=s[6],t[e+7]=s[7],t[e+8]=s[8],t[e+9]=s[9],t[e+10]=s[10],t[e+11]=s[11],t[e+12]=s[12],t[e+13]=s[13],t[e+14]=s[14],t[e+15]=s[15],t}}const Pe=new $t,ge=new be,xe=new $t(0,0,0),_e=new $t(1,1,1),Me=new $t,Fe=new $t,Ue=new $t,we=new be,Ge=new Jt;class He{constructor(t=0,e=0,s=0,i=He.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=s,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,s,i=this._order){return this._x=t,this._y=e,this._z=s,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,s=!0){const i=t.elements,r=i[0],n=i[4],a=i[8],o=i[1],h=i[5],c=i[9],l=i[2],p=i[6],u=i[10];switch(e){case"XYZ":this._y=Math.asin(Lt(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-c,u),this._z=Math.atan2(-n,r)):(this._x=Math.atan2(p,h),this._z=0);break;case"YXZ":this._x=Math.asin(-Lt(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(a,u),this._z=Math.atan2(o,h)):(this._y=Math.atan2(-l,r),this._z=0);break;case"ZXY":this._x=Math.asin(Lt(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-l,u),this._z=Math.atan2(-n,h)):(this._y=0,this._z=Math.atan2(o,r));break;case"ZYX":this._y=Math.asin(-Lt(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(p,u),this._z=Math.atan2(o,r)):(this._x=0,this._z=Math.atan2(-n,h));break;case"YZX":this._z=Math.asin(Lt(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,h),this._y=Math.atan2(-l,r)):(this._x=0,this._y=Math.atan2(a,u));break;case"XZY":this._z=Math.asin(-Lt(n,-1,1)),Math.abs(n)<.9999999?(this._x=Math.atan2(p,h),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-c,u),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,!0===s&&this._onChangeCallback(),this}setFromQuaternion(t,e,s){return we.makeRotationFromQuaternion(t),this.setFromRotationMatrix(we,e,s)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return Ge.setFromEuler(this),this.setFromQuaternion(Ge,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}He.DEFAULT_ORDER="XYZ";class Be{constructor(){this.mask=1}set(t){this.mask=1<>>0}enable(t){this.mask|=1<1){for(let t=0;t1){for(let t=0;t0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map((t=>({boxInitialized:t.boxInitialized,boxMin:t.box.min.toArray(),boxMax:t.box.max.toArray(),sphereInitialized:t.sphereInitialized,sphereRadius:t.sphere.radius,sphereCenter:t.sphere.center.toArray()}))),i.maxInstanceCount=this._maxInstanceCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(t),null!==this._colorsTexture&&(i.colorsTexture=this._colorsTexture.toJSON(t)),null!==this.boundingSphere&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),null!==this.boundingBox&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()})),this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(i.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(t.geometries,this.geometry);const e=this.geometry.parameters;if(void 0!==e&&void 0!==e.shapes){const s=e.shapes;if(Array.isArray(s))for(let e=0,i=s.length;e0){i.children=[];for(let e=0;e0){i.animations=[];for(let e=0;e0&&(s.geometries=e),i.length>0&&(s.materials=i),r.length>0&&(s.textures=r),a.length>0&&(s.images=a),o.length>0&&(s.shapes=o),h.length>0&&(s.skeletons=h),c.length>0&&(s.animations=c),l.length>0&&(s.nodes=l)}return s.object=i,s;function n(t){const e=[];for(const s in t){const i=t[s];delete i.metadata,e.push(i)}return e}}clone(t){return(new this.constructor).copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,s,i,r){is.subVectors(i,e),rs.subVectors(s,e),ns.subVectors(t,e);const n=is.dot(is),a=is.dot(rs),o=is.dot(ns),h=rs.dot(rs),c=rs.dot(ns),l=n*h-a*a;if(0===l)return r.set(0,0,0),null;const p=1/l,u=(h*o-a*c)*p,E=(n*c-a*o)*p;return r.set(1-u-E,E,u)}static containsPoint(t,e,s,i){return null!==this.getBarycoord(t,e,s,i,as)&&(as.x>=0&&as.y>=0&&as.x+as.y<=1)}static getInterpolation(t,e,s,i,r,n,a,o){return null===this.getBarycoord(t,e,s,i,as)?(o.x=0,o.y=0,"z"in o&&(o.z=0),"w"in o&&(o.w=0),null):(o.setScalar(0),o.addScaledVector(r,as.x),o.addScaledVector(n,as.y),o.addScaledVector(a,as.z),o)}static getInterpolatedAttribute(t,e,s,i,r,n){return Es.setScalar(0),Is.setScalar(0),ys.setScalar(0),Es.fromBufferAttribute(t,e),Is.fromBufferAttribute(t,s),ys.fromBufferAttribute(t,i),n.setScalar(0),n.addScaledVector(Es,r.x),n.addScaledVector(Is,r.y),n.addScaledVector(ys,r.z),n}static isFrontFacing(t,e,s,i){return is.subVectors(s,e),rs.subVectors(t,e),is.cross(rs).dot(i)<0}set(t,e,s){return this.a.copy(t),this.b.copy(e),this.c.copy(s),this}setFromPointsAndIndices(t,e,s,i){return this.a.copy(t[e]),this.b.copy(t[s]),this.c.copy(t[i]),this}setFromAttributeAndIndices(t,e,s,i){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,s),this.c.fromBufferAttribute(t,i),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return is.subVectors(this.c,this.b),rs.subVectors(this.a,this.b),.5*is.cross(rs).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return Ts.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return Ts.getBarycoord(t,this.a,this.b,this.c,e)}getInterpolation(t,e,s,i,r){return Ts.getInterpolation(t,this.a,this.b,this.c,e,s,i,r)}containsPoint(t){return Ts.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return Ts.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const s=this.a,i=this.b,r=this.c;let n,a;os.subVectors(i,s),hs.subVectors(r,s),ls.subVectors(t,s);const o=os.dot(ls),h=hs.dot(ls);if(o<=0&&h<=0)return e.copy(s);ps.subVectors(t,i);const c=os.dot(ps),l=hs.dot(ps);if(c>=0&&l<=c)return e.copy(i);const p=o*l-c*h;if(p<=0&&o>=0&&c<=0)return n=o/(o-c),e.copy(s).addScaledVector(os,n);us.subVectors(t,r);const u=os.dot(us),E=hs.dot(us);if(E>=0&&u<=E)return e.copy(r);const I=u*h-o*E;if(I<=0&&h>=0&&E<=0)return a=h/(h-E),e.copy(s).addScaledVector(hs,a);const y=c*E-u*l;if(y<=0&&l-c>=0&&u-E>=0)return cs.subVectors(r,i),a=(l-c)/(l-c+(u-E)),e.copy(i).addScaledVector(cs,a);const T=1/(y+I+p);return n=I*T,a=p*T,e.copy(s).addScaledVector(os,n).addScaledVector(hs,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}const ds={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ns={h:0,s:0,l:0},Rs={h:0,s:0,l:0};function fs(t,e,s){return s<0&&(s+=1),s>1&&(s-=1),s<1/6?t+6*(e-t)*s:s<.5?e:s<2/3?t+6*(e-t)*(2/3-s):t}class Os{constructor(t,e,s){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(t,e,s)}set(t,e,s){if(void 0===e&&void 0===s){const e=t;e&&e.isColor?this.copy(e):"number"==typeof e?this.setHex(e):"string"==typeof e&&this.setStyle(e)}else this.setRGB(t,e,s);return this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=yt){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,Vt.toWorkingColorSpace(this,e),this}setRGB(t,e,s,i=Vt.workingColorSpace){return this.r=t,this.g=e,this.b=s,Vt.toWorkingColorSpace(this,i),this}setHSL(t,e,s,i=Vt.workingColorSpace){if(t=bt(t,1),e=Lt(e,0,1),s=Lt(s,0,1),0===e)this.r=this.g=this.b=s;else{const i=s<=.5?s*(1+e):s+e-s*e,r=2*s-i;this.r=fs(r,i,t+1/3),this.g=fs(r,i,t),this.b=fs(r,i,t-1/3)}return Vt.toWorkingColorSpace(this,i),this}setStyle(t,e=yt){function s(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(t)){let r;const n=i[1],a=i[2];switch(n){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return s(r[4]),this.setRGB(Math.min(255,parseInt(r[1],10))/255,Math.min(255,parseInt(r[2],10))/255,Math.min(255,parseInt(r[3],10))/255,e);if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return s(r[4]),this.setRGB(Math.min(100,parseInt(r[1],10))/100,Math.min(100,parseInt(r[2],10))/100,Math.min(100,parseInt(r[3],10))/100,e);break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return s(r[4]),this.setHSL(parseFloat(r[1])/360,parseFloat(r[2])/100,parseFloat(r[3])/100,e);break;default:console.warn("THREE.Color: Unknown color model "+t)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(t)){const s=i[1],r=s.length;if(3===r)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,e);if(6===r)return this.setHex(parseInt(s,16),e);console.warn("THREE.Color: Invalid hex color "+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=yt){const s=ds[t.toLowerCase()];return void 0!==s?this.setHex(s,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=Wt(t.r),this.g=Wt(t.g),this.b=Wt(t.b),this}copyLinearToSRGB(t){return this.r=jt(t.r),this.g=jt(t.g),this.b=jt(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=yt){return Vt.fromWorkingColorSpace(Ds.copy(this),t),65536*Math.round(Lt(255*Ds.r,0,255))+256*Math.round(Lt(255*Ds.g,0,255))+Math.round(Lt(255*Ds.b,0,255))}getHexString(t=yt){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=Vt.workingColorSpace){Vt.fromWorkingColorSpace(Ds.copy(this),e);const s=Ds.r,i=Ds.g,r=Ds.b,n=Math.max(s,i,r),a=Math.min(s,i,r);let o,h;const c=(a+n)/2;if(a===n)o=0,h=0;else{const t=n-a;switch(h=c<=.5?t/(n+a):t/(2-n-a),n){case s:o=(i-r)/t+(i0!=t>0&&this.version++,this._alphaTest=t}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const s=t[e];if(void 0===s){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}const i=this[e];void 0!==i?i&&i.isColor?i.set(s):i&&i.isVector3&&s&&s.isVector3?i.copy(s):this[e]=s:console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`)}}toJSON(t){const e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});const s={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};function i(t){const e=[];for(const s in t){const i=t[s];delete i.metadata,e.push(i)}return e}if(s.uuid=this.uuid,s.type=this.type,""!==this.name&&(s.name=this.name),this.color&&this.color.isColor&&(s.color=this.color.getHex()),void 0!==this.roughness&&(s.roughness=this.roughness),void 0!==this.metalness&&(s.metalness=this.metalness),void 0!==this.sheen&&(s.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(s.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(s.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(s.emissive=this.emissive.getHex()),void 0!==this.emissiveIntensity&&1!==this.emissiveIntensity&&(s.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(s.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(s.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(s.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(s.shininess=this.shininess),void 0!==this.clearcoat&&(s.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(s.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(s.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(s.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(s.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,s.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.dispersion&&(s.dispersion=this.dispersion),void 0!==this.iridescence&&(s.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(s.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(s.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(s.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(s.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),void 0!==this.anisotropy&&(s.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(s.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(s.anisotropyMap=this.anisotropyMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(s.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(s.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(s.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(s.lightMap=this.lightMap.toJSON(t).uuid,s.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(s.aoMap=this.aoMap.toJSON(t).uuid,s.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(s.bumpMap=this.bumpMap.toJSON(t).uuid,s.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(s.normalMap=this.normalMap.toJSON(t).uuid,s.normalMapType=this.normalMapType,s.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(s.displacementMap=this.displacementMap.toJSON(t).uuid,s.displacementScale=this.displacementScale,s.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(s.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(s.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(s.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(s.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(s.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(s.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(s.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(s.combine=this.combine)),void 0!==this.envMapRotation&&(s.envMapRotation=this.envMapRotation.toArray()),void 0!==this.envMapIntensity&&(s.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(s.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(s.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(s.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(s.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(s.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(s.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(s.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(s.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(s.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(s.size=this.size),null!==this.shadowSide&&(s.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(s.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(s.blending=this.blending),0!==this.side&&(s.side=this.side),!0===this.vertexColors&&(s.vertexColors=!0),this.opacity<1&&(s.opacity=this.opacity),!0===this.transparent&&(s.transparent=!0),204!==this.blendSrc&&(s.blendSrc=this.blendSrc),205!==this.blendDst&&(s.blendDst=this.blendDst),100!==this.blendEquation&&(s.blendEquation=this.blendEquation),null!==this.blendSrcAlpha&&(s.blendSrcAlpha=this.blendSrcAlpha),null!==this.blendDstAlpha&&(s.blendDstAlpha=this.blendDstAlpha),null!==this.blendEquationAlpha&&(s.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(s.blendColor=this.blendColor.getHex()),0!==this.blendAlpha&&(s.blendAlpha=this.blendAlpha),3!==this.depthFunc&&(s.depthFunc=this.depthFunc),!1===this.depthTest&&(s.depthTest=this.depthTest),!1===this.depthWrite&&(s.depthWrite=this.depthWrite),!1===this.colorWrite&&(s.colorWrite=this.colorWrite),255!==this.stencilWriteMask&&(s.stencilWriteMask=this.stencilWriteMask),519!==this.stencilFunc&&(s.stencilFunc=this.stencilFunc),0!==this.stencilRef&&(s.stencilRef=this.stencilRef),255!==this.stencilFuncMask&&(s.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Rt&&(s.stencilFail=this.stencilFail),this.stencilZFail!==Rt&&(s.stencilZFail=this.stencilZFail),this.stencilZPass!==Rt&&(s.stencilZPass=this.stencilZPass),!0===this.stencilWrite&&(s.stencilWrite=this.stencilWrite),void 0!==this.rotation&&0!==this.rotation&&(s.rotation=this.rotation),!0===this.polygonOffset&&(s.polygonOffset=!0),0!==this.polygonOffsetFactor&&(s.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(s.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(s.linewidth=this.linewidth),void 0!==this.dashSize&&(s.dashSize=this.dashSize),void 0!==this.gapSize&&(s.gapSize=this.gapSize),void 0!==this.scale&&(s.scale=this.scale),!0===this.dithering&&(s.dithering=!0),this.alphaTest>0&&(s.alphaTest=this.alphaTest),!0===this.alphaHash&&(s.alphaHash=!0),!0===this.alphaToCoverage&&(s.alphaToCoverage=!0),!0===this.premultipliedAlpha&&(s.premultipliedAlpha=!0),!0===this.forceSinglePass&&(s.forceSinglePass=!0),!0===this.wireframe&&(s.wireframe=!0),this.wireframeLinewidth>1&&(s.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(s.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(s.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(s.flatShading=!0),!1===this.visible&&(s.visible=!1),!1===this.toneMapped&&(s.toneMapped=!1),!1===this.fog&&(s.fog=!1),Object.keys(this.userData).length>0&&(s.userData=this.userData),e){const e=i(t.textures),r=i(t.images);e.length>0&&(s.textures=e),r.length>0&&(s.images=r)}return s}clone(){return(new this.constructor).copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.blendColor.copy(t.blendColor),this.blendAlpha=t.blendAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let s=null;if(null!==e){const t=e.length;s=new Array(t);for(let i=0;i!==t;++i)s[i]=e[i].clone()}return this.clippingPlanes=s,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaHash=t.alphaHash,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}onBuild(){console.warn("Material: onBuild() has been removed.")}};class Ss extends As{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Os(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new He,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const Cs=new $t,vs=new Mt;let Ls=0;class bs{constructor(t,e,s=!1){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:Ls++}),this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=s,this.usage=35044,this.updateRanges=[],this.gpuType=1015,this.version=0}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this.gpuType=t.gpuType,this}copyAt(t,e,s){t*=this.itemSize,s*=e.itemSize;for(let i=0,r=this.itemSize;i=0;--e)if(t[e]>=65535)return!0;return!1}(t)?gs:Ps)(t,1):this.index=t,this}setIndirect(t){return this.indirect=t,this}getIndirect(){return this.indirect}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return void 0!==this.attributes[t]}addGroup(t,e,s=0){this.groups.push({start:t,count:e,materialIndex:s})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const s=this.attributes.normal;if(void 0!==s){const e=(new Ft).getNormalMatrix(t);s.applyNormalMatrix(e),s.needsUpdate=!0}const i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(t),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(t){return Ms.makeRotationFromQuaternion(t),this.applyMatrix4(Ms),this}rotateX(t){return Ms.makeRotationX(t),this.applyMatrix4(Ms),this}rotateY(t){return Ms.makeRotationY(t),this.applyMatrix4(Ms),this}rotateZ(t){return Ms.makeRotationZ(t),this.applyMatrix4(Ms),this}translate(t,e,s){return Ms.makeTranslation(t,e,s),this.applyMatrix4(Ms),this}scale(t,e,s){return Ms.makeScale(t,e,s),this.applyMatrix4(Ms),this}lookAt(t){return Fs.lookAt(t),Fs.updateMatrix(),this.applyMatrix4(Fs.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Us).negate(),this.translate(Us.x,Us.y,Us.z),this}setFromPoints(t){const e=this.getAttribute("position");if(void 0===e){const e=[];for(let s=0,i=t.length;se.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),e.needsUpdate=!0}return this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new se);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),void this.boundingBox.set(new $t(-1/0,-1/0,-1/0),new $t(1/0,1/0,1/0));if(void 0!==t){if(this.boundingBox.setFromBufferAttribute(t),e)for(let t=0,s=e.length;t0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const s in e)void 0!==e[s]&&(t[s]=e[s]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const s=this.attributes;for(const e in s){const i=s[e];t.data.attributes[e]=i.toJSON(t.data)}const i={};let r=!1;for(const e in this.morphAttributes){const s=this.morphAttributes[e],n=[];for(let e=0,i=s.length;e0&&(i[e]=n,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const n=this.groups;n.length>0&&(t.data.groups=JSON.parse(JSON.stringify(n)));const a=this.boundingSphere;return null!==a&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return(new this.constructor).copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const s=t.index;null!==s&&this.setIndex(s.clone());const i=t.attributes;for(const t in i){const s=i[t];this.setAttribute(t,s.clone(e))}const r=t.morphAttributes;for(const t in r){const s=[],i=r[t];for(let t=0,r=i.length;t0){const s=t[e[0]];if(void 0!==s){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=s.length;t(t.far-t.near)**2)return}Vs.copy(r).invert(),Ws.copy(t.ray).applyMatrix4(Vs),null!==s.boundingBox&&!1===Ws.intersectsBox(s.boundingBox)||this._computeIntersections(t,e,Ws)}}_computeIntersections(t,e,s){let i;const r=this.geometry,n=this.material,a=r.index,o=r.attributes.position,h=r.attributes.uv,c=r.attributes.uv1,l=r.attributes.normal,p=r.groups,u=r.drawRange;if(null!==a)if(Array.isArray(n))for(let r=0,o=p.length;rs.far?null:{distance:c,point:Qs.clone(),object:t}}(t,e,s,i,zs,ks,Xs,qs);if(l){const t=new $t;Ts.getBarycoord(qs,zs,ks,Xs,t),r&&(l.uv=Ts.getInterpolatedAttribute(r,o,h,c,t,new Mt)),n&&(l.uv1=Ts.getInterpolatedAttribute(n,o,h,c,t,new Mt)),a&&(l.normal=Ts.getInterpolatedAttribute(a,o,h,c,t,new $t),l.normal.dot(i.direction)>0&&l.normal.multiplyScalar(-1));const e={a:o,b:h,c:c,normal:new $t,materialIndex:0};Ts.getNormal(zs,ks,Xs,e.normal),l.face=e,l.barycoord=t}return l}class ti extends qt{constructor(t=null,e=1,s=1,i,r,n,a,o,h=1003,c=1003,l,p){super(null,n,a,o,h,c,i,r,l,p),this.isDataTexture=!0,this.image={data:t,width:e,height:s},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class ei extends bs{constructor(t,e,s,i=1){super(t,e,s),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=i}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}toJSON(){const t=super.toJSON();return t.meshPerAttribute=this.meshPerAttribute,t.isInstancedBufferAttribute=!0,t}}const si=new be,ii=new be,ri=[],ni=new se,ai=new be,oi=new Js,hi=new fe;class ci extends Js{constructor(t,e,s){super(t,e),this.isInstancedMesh=!0,this.instanceMatrix=new ei(new Float32Array(16*s),16),this.instanceColor=null,this.morphTexture=null,this.count=s,this.boundingBox=null,this.boundingSphere=null;for(let t=0;t1?null:e.copy(t.start).addScaledVector(s,r)}intersectsLine(t){const e=this.distanceToPoint(t.start),s=this.distanceToPoint(t.end);return e<0&&s>0||s<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const s=e||ui.getNormalMatrix(t),i=this.coplanarPoint(li).applyMatrix4(t),r=this.normal.applyMatrix3(s).normalize();return this.constant=-i.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return(new this.constructor).copy(this)}}const Ii=new fe,yi=new $t;class Ti{constructor(t=new Ei,e=new Ei,s=new Ei,i=new Ei,r=new Ei,n=new Ei){this.planes=[t,e,s,i,r,n]}set(t,e,s,i,r,n){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(s),a[3].copy(i),a[4].copy(r),a[5].copy(n),this}copy(t){const e=this.planes;for(let s=0;s<6;s++)e[s].copy(t.planes[s]);return this}setFromProjectionMatrix(t,e=2e3){const s=this.planes,i=t.elements,r=i[0],n=i[1],a=i[2],o=i[3],h=i[4],c=i[5],l=i[6],p=i[7],u=i[8],E=i[9],I=i[10],y=i[11],T=i[12],d=i[13],N=i[14],R=i[15];if(s[0].setComponents(o-r,p-h,y-u,R-T).normalize(),s[1].setComponents(o+r,p+h,y+u,R+T).normalize(),s[2].setComponents(o+n,p+c,y+E,R+d).normalize(),s[3].setComponents(o-n,p-c,y-E,R-d).normalize(),s[4].setComponents(o-a,p-l,y-I,R-N).normalize(),e===ft)s[5].setComponents(o+a,p+l,y+I,R+N).normalize();else{if(e!==Ot)throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+e);s[5].setComponents(a,l,I,N).normalize()}return this}intersectsObject(t){if(void 0!==t.boundingSphere)null===t.boundingSphere&&t.computeBoundingSphere(),Ii.copy(t.boundingSphere).applyMatrix4(t.matrixWorld);else{const e=t.geometry;null===e.boundingSphere&&e.computeBoundingSphere(),Ii.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(Ii)}intersectsSprite(t){return Ii.center.set(0,0,0),Ii.radius=.7071067811865476,Ii.applyMatrix4(t.matrixWorld),this.intersectsSphere(Ii)}intersectsSphere(t){const e=this.planes,s=t.center,i=-t.radius;for(let t=0;t<6;t++){if(e[t].distanceToPoint(s)0?t.max.x:t.min.x,yi.y=i.normal.y>0?t.max.y:t.min.y,yi.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(yi)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let s=0;s<6;s++)if(e[s].distanceToPoint(t)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}const di=new $t,Ni=new $t;class Ri{constructor(t=new $t,e=new $t){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){di.subVectors(t,this.start),Ni.subVectors(this.end,this.start);const s=Ni.dot(Ni);let i=Ni.dot(di)/s;return e&&(i=Lt(i,0,1)),i}closestPointToPoint(t,e,s){const i=this.closestPointToPointParameter(t,e);return this.delta(s).multiplyScalar(i).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:"175"}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__="175");const fi=65536;var Oi=(t=>(t[t.LINE=0]="LINE",t[t.SHELL=1]="SHELL",t))(Oi||{}),Di=(t=>(t[t.UPDATE=0]="UPDATE",t[t.CREATE=1]="CREATE",t[t.DELETE=2]="DELETE",t[t.FINISH=3]="FINISH",t))(Di||{}),mi=(t=>(t[t.GEOMETRY=0]="GEOMETRY",t[t.WIRES=1]="WIRES",t[t.INVISIBLE=2]="INVISIBLE",t))(mi||{}),Ai=(t=>(t[t.CREATE_MODEL=0]="CREATE_MODEL",t[t.DELETE_MODEL=1]="DELETE_MODEL",t[t.EXECUTE=2]="EXECUTE",t[t.RAYCAST=3]="RAYCAST",t[t.FETCH_BOXES=4]="FETCH_BOXES",t[t.REFRESH_VIEW=5]="REFRESH_VIEW",t[t.RECOMPUTE_MESHES=6]="RECOMPUTE_MESHES",t[t.CREATE_MATERIAL=7]="CREATE_MATERIAL",t[t.THROW_ERROR=8]="THROW_ERROR",t))(Ai||{}),Si=(t=>(t[t.VISIBLE=0]="VISIBLE",t))(Si||{}),Ci=(t=>(t[t.POINT=0]="POINT",t[t.LINE=1]="LINE",t[t.FACE=2]="FACE",t))(Ci||{});const vi="ThatOpenAlignment",Li="ThatOpenGrid";var bi=(t=>(t[t.DEFAULT=0]="DEFAULT",t[t.ALL_VISIBLE=1]="ALL_VISIBLE",t[t.ALL_GEOMETRY=2]="ALL_GEOMETRY",t))(bi||{});class Pi{static newThread(t){return new Worker(t,{type:"module"})}static newUpdater(t,e){return setInterval(t,e)}static getMeshComputeRequest(t,e){return{class:Ai.RECOMPUTE_MESHES,modelId:t,list:e}}static planeSet(t){const e=[];for(const s of t){const t=this.array(s.normal),i=s.constant,r=new Ei(t,i);e.push(r)}return e}static data(t){var e,s;if(void 0!==(null==t?void 0:t.elements))return Pi.transform(t);if(void 0!==(null==t?void 0:t.origin)&&void 0!==(null==t?void 0:t.direction))return Pi.beam(t);if(void 0!==(null==t?void 0:t.planes))return Pi.frustum(t);const i=void 0!==(null==t?void 0:t.normal),r=void 0!==(null==t?void 0:t.constant);if(i&&r)return Pi.plane(t);const n=void 0!==(null==(e=t[0])?void 0:e.normal),a=void 0!==(null==(s=t[0])?void 0:s.constant);if(n&&a)return Pi.planeSet(t);const o=void 0!==(null==t?void 0:t.x),h=void 0!==(null==t?void 0:t.y),c=void 0!==(null==t?void 0:t.z);return o&&h&&c?Pi.array(t):t}static getExecuteRequest(t,e,s){const i=Array.from(s);return{class:Ai.EXECUTE,modelId:t,function:e,parameters:i}}static plane(t){const e=this.array(t.normal),s=t.constant;return new Ei(e,s)}static getRequestContent(t){const e=[];for(const s of t.list)Pi.setupCreateRequest(s,e),Pi.setupUpdateRequest(s,e);return e}static array(t){const e=new $t;return e.set(t.x,t.y,t.z),e}static cleanRequests(t){const e=[],s=Pi;for(const i of t){s.isFinishRequest(i)||e.push(i)}return e}static frustum(t){const e=this.planeSet(t.planes),[s,i,r,n,a,o]=e;return new Ti(s,i,r,n,a,o)}static beam(t){const e=this.array(t.origin),s=this.array(t.direction);return new Le(e,s)}static transform(t){const e=new be;return e.copy(t),e}static deleteUpdater(t){clearInterval(t)}static areCoresAvailable(t){const e=Pi.getCpuCapacity();return t{t.data.toMainThread?this._handlers.run(t.data):this.manageInput(t.data)})),this._handleInput=t}fetchMeshCompute(t,e){const s=Pi,i=s.getMeshComputeRequest(t,e),r=s.getRequestContent(i);this.fetch(i,r)}fetch(t,e){return this._handlers.setupInput(t),new Promise(((s,i)=>{this._handlers.set(t.requestId,i,s),this.executeConnection(t,e)}))}init(t){this._port=t,this.initConnection(t)}initConnection(t){t.onmessage=this.onInput}async fetchConnection(t){if(!this._port)throw new Error("Fragments: Connection not initialized");return this._port}async executeConnection(t,e){(await this.fetchConnection(t)).postMessage(t,e)}async manageOutput(t){const e=await this.fetchConnection(t);t.toMainThread=!0,e.postMessage(t)}async manageConnection(t){try{await this._handleInput(t)}catch(e){t.errorInfo=e.toString(),console.error(e)}}async manageInput(t){await this.manageConnection(t),await this.manageOutput(t)}} -/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function xi(t){let e=t.length;for(;--e>=0;)t[e]=0}const _i=256,Mi=286,Fi=30,Ui=15,wi=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]),Gi=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]),Hi=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Bi=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Vi=new Array(576);xi(Vi);const Wi=new Array(60);xi(Wi);const ji=new Array(512);xi(ji);const Yi=new Array(256);xi(Yi);const zi=new Array(29);xi(zi);const ki=new Array(Fi);function Xi(t,e,s,i,r){this.static_tree=t,this.extra_bits=e,this.extra_base=s,this.elems=i,this.max_length=r,this.has_stree=t&&t.length}let Ki,Zi,qi;function Qi(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}xi(ki);const Ji=t=>t<256?ji[t]:ji[256+(t>>>7)],$i=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},tr=(t,e,s)=>{t.bi_valid>16-s?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=s-16):(t.bi_buf|=e<{tr(t,s[2*e],s[2*e+1])},sr=(t,e)=>{let s=0;do{s|=1&t,t>>>=1,s<<=1}while(--e>0);return s>>>1},ir=(t,e,s)=>{const i=new Array(16);let r,n,a=0;for(r=1;r<=Ui;r++)a=a+s[r-1]<<1,i[r]=a;for(n=0;n<=e;n++){let e=t[2*n+1];0!==e&&(t[2*n]=sr(i[e]++,e))}},rr=t=>{let e;for(e=0;e{t.bi_valid>8?$i(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},ar=(t,e,s,i)=>{const r=2*e,n=2*s;return t[r]{const i=t.heap[s];let r=s<<1;for(;r<=t.heap_len&&(r{let i,r,n,a,o=0;if(0!==t.sym_next)do{i=255&t.pending_buf[t.sym_buf+o++],i+=(255&t.pending_buf[t.sym_buf+o++])<<8,r=t.pending_buf[t.sym_buf+o++],0===i?er(t,r,e):(n=Yi[r],er(t,n+_i+1,e),a=wi[n],0!==a&&(r-=zi[n],tr(t,r,a)),i--,n=Ji(i),er(t,n,s),a=Gi[n],0!==a&&(i-=ki[n],tr(t,i,a)))}while(o{const s=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.has_stree,n=e.stat_desc.elems;let a,o,h,c=-1;for(t.heap_len=0,t.heap_max=573,a=0;a>1;a>=1;a--)or(t,s,a);h=n;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],or(t,s,1),o=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=o,s[2*h]=s[2*a]+s[2*o],t.depth[h]=(t.depth[a]>=t.depth[o]?t.depth[a]:t.depth[o])+1,s[2*a+1]=s[2*o+1]=h,t.heap[1]=h++,or(t,s,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const s=e.dyn_tree,i=e.max_code,r=e.stat_desc.static_tree,n=e.stat_desc.has_stree,a=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,h=e.stat_desc.max_length;let c,l,p,u,E,I,y=0;for(u=0;u<=Ui;u++)t.bl_count[u]=0;for(s[2*t.heap[t.heap_max]+1]=0,c=t.heap_max+1;c<573;c++)l=t.heap[c],u=s[2*s[2*l+1]+1]+1,u>h&&(u=h,y++),s[2*l+1]=u,l>i||(t.bl_count[u]++,E=0,l>=o&&(E=a[l-o]),I=s[2*l],t.opt_len+=I*(u+E),n&&(t.static_len+=I*(r[2*l+1]+E)));if(0!==y){do{for(u=h-1;0===t.bl_count[u];)u--;t.bl_count[u]--,t.bl_count[u+1]+=2,t.bl_count[h]--,y-=2}while(y>0);for(u=h;0!==u;u--)for(l=t.bl_count[u];0!==l;)p=t.heap[--c],p>i||(s[2*p+1]!==u&&(t.opt_len+=(u-s[2*p+1])*s[2*p],s[2*p+1]=u),l--)}})(t,e),ir(s,c,t.bl_count)},lr=(t,e,s)=>{let i,r,n=-1,a=e[1],o=0,h=7,c=4;for(0===a&&(h=138,c=3),e[2*(s+1)+1]=65535,i=0;i<=s;i++)r=a,a=e[2*(i+1)+1],++o{let i,r,n=-1,a=e[1],o=0,h=7,c=4;for(0===a&&(h=138,c=3),i=0;i<=s;i++)if(r=a,a=e[2*(i+1)+1],!(++o{tr(t,0+(i?1:0),3),nr(t),$i(t,s),$i(t,~s),s&&t.pending_buf.set(t.window.subarray(e,e+s),t.pending),t.pending+=s};var Ir={_tr_init:t=>{ur||((()=>{let t,e,s,i,r;const n=new Array(16);for(s=0,i=0;i<28;i++)for(zi[i]=s,t=0;t<1<>=7;i{let r,n,a=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,s=4093624447;for(e=0;e<=31;e++,s>>>=1)if(1&s&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<_i;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),cr(t,t.l_desc),cr(t,t.d_desc),a=(t=>{let e;for(lr(t,t.dyn_ltree,t.l_desc.max_code),lr(t,t.dyn_dtree,t.d_desc.max_code),cr(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*Bi[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),r=t.opt_len+3+7>>>3,n=t.static_len+3+7>>>3,n<=r&&(r=n)):r=n=s+5,s+4<=r&&-1!==e?Er(t,e,s,i):4===t.strategy||n===r?(tr(t,2+(i?1:0),3),hr(t,Vi,Wi)):(tr(t,4+(i?1:0),3),((t,e,s,i)=>{let r;for(tr(t,e-257,5),tr(t,s-1,5),tr(t,i-4,4),r=0;r(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=s,0===e?t.dyn_ltree[2*s]++:(t.matches++,e--,t.dyn_ltree[2*(Yi[s]+_i+1)]++,t.dyn_dtree[2*Ji(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{tr(t,2,3),er(t,256,Vi),(t=>{16===t.bi_valid?($i(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var yr=(t,e,s,i)=>{let r=65535&t,n=t>>>16&65535,a=0;for(;0!==s;){a=s>2e3?2e3:s,s-=a;do{r=r+e[i++]|0,n=n+r|0}while(--a);r%=65521,n%=65521}return r|n<<16};const Tr=new Uint32Array((()=>{let t,e=[];for(var s=0;s<256;s++){t=s;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[s]=t}return e})());var dr=(t,e,s,i)=>{const r=Tr,n=i+s;t^=-1;for(let s=i;s>>8^r[255&(t^e[s])];return~t},Nr={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"},Rr={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};const{_tr_init:fr,_tr_stored_block:Or,_tr_flush_block:Dr,_tr_tally:mr,_tr_align:Ar}=Ir,{Z_NO_FLUSH:Sr,Z_PARTIAL_FLUSH:Cr,Z_FULL_FLUSH:vr,Z_FINISH:Lr,Z_BLOCK:br,Z_OK:Pr,Z_STREAM_END:gr,Z_STREAM_ERROR:xr,Z_DATA_ERROR:_r,Z_BUF_ERROR:Mr,Z_DEFAULT_COMPRESSION:Fr,Z_FILTERED:Ur,Z_HUFFMAN_ONLY:wr,Z_RLE:Gr,Z_FIXED:Hr,Z_DEFAULT_STRATEGY:Br,Z_UNKNOWN:Vr,Z_DEFLATED:Wr}=Rr,jr=258,Yr=262,zr=42,kr=113,Xr=666,Kr=(t,e)=>(t.msg=Nr[e],e),Zr=t=>2*t-(t>4?9:0),qr=t=>{let e=t.length;for(;--e>=0;)t[e]=0},Qr=t=>{let e,s,i,r=t.w_size;e=t.hash_size,i=e;do{s=t.head[--i],t.head[i]=s>=r?s-r:0}while(--e);e=r,i=e;do{s=t.prev[--i],t.prev[i]=s>=r?s-r:0}while(--e)};let Jr=(t,e,s)=>(e<{const e=t.state;let s=e.pending;s>t.avail_out&&(s=t.avail_out),0!==s&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+s),t.next_out),t.next_out+=s,e.pending_out+=s,t.total_out+=s,t.avail_out-=s,e.pending-=s,0===e.pending&&(e.pending_out=0))},tn=(t,e)=>{Dr(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,$r(t.strm)},en=(t,e)=>{t.pending_buf[t.pending++]=e},sn=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},rn=(t,e,s,i)=>{let r=t.avail_in;return r>i&&(r=i),0===r?0:(t.avail_in-=r,e.set(t.input.subarray(t.next_in,t.next_in+r),s),1===t.state.wrap?t.adler=yr(t.adler,e,r,s):2===t.state.wrap&&(t.adler=dr(t.adler,e,r,s)),t.next_in+=r,t.total_in+=r,r)},nn=(t,e)=>{let s,i,r=t.max_chain_length,n=t.strstart,a=t.prev_length,o=t.nice_match;const h=t.strstart>t.w_size-Yr?t.strstart-(t.w_size-Yr):0,c=t.window,l=t.w_mask,p=t.prev,u=t.strstart+jr;let E=c[n+a-1],I=c[n+a];t.prev_length>=t.good_match&&(r>>=2),o>t.lookahead&&(o=t.lookahead);do{if(s=e,c[s+a]===I&&c[s+a-1]===E&&c[s]===c[n]&&c[++s]===c[n+1]){n+=2,s++;do{}while(c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&na){if(t.match_start=e,a=i,i>=o)break;E=c[n+a-1],I=c[n+a]}}}while((e=p[e&l])>h&&0!=--r);return a<=t.lookahead?a:t.lookahead},an=t=>{const e=t.w_size;let s,i,r;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Yr)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),Qr(t),i+=e),0===t.strm.avail_in)break;if(s=rn(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=s,t.lookahead+t.insert>=3)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=Jr(t,t.ins_h,t.window[r+1]);t.insert&&(t.ins_h=Jr(t,t.ins_h,t.window[r+3-1]),t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let s,i,r,n=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,a=0,o=t.strm.avail_in;do{if(s=65535,r=t.bi_valid+42>>3,t.strm.avail_outi+t.strm.avail_in&&(s=i+t.strm.avail_in),s>r&&(s=r),s>8,t.pending_buf[t.pending-2]=~s,t.pending_buf[t.pending-1]=~s>>8,$r(t.strm),i&&(i>s&&(i=s),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,s-=i),s&&(rn(t.strm,t.strm.output,t.strm.next_out,s),t.strm.next_out+=s,t.strm.avail_out-=s,t.strm.total_out+=s)}while(0===a);return o-=t.strm.avail_in,o&&(o>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=o&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-o,t.strm.next_in),t.strstart),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.block_start=t.strstart),t.high_waterr&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,r+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),r>t.strm.avail_in&&(r=t.strm.avail_in),r&&(rn(t.strm,t.window,t.strstart,r),t.strstart+=r,t.insert+=r>t.w_size-t.insert?t.w_size-t.insert:r),t.high_water>3,r=t.pending_buf_size-r>65535?65535:t.pending_buf_size-r,n=r>t.w_size?t.w_size:r,i=t.strstart-t.block_start,(i>=n||(i||e===Lr)&&e!==Sr&&0===t.strm.avail_in&&i<=r)&&(s=i>r?r:i,a=e===Lr&&0===t.strm.avail_in&&s===i?1:0,Or(t,t.block_start,s,a),t.block_start+=s,$r(t.strm)),a?3:1)},hn=(t,e)=>{let s,i;for(;;){if(t.lookahead=3&&(t.ins_h=Jr(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==s&&t.strstart-s<=t.w_size-Yr&&(t.match_length=nn(t,s)),t.match_length>=3)if(i=mr(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=Jr(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=Jr(t,t.ins_h,t.window[t.strstart+1]);else i=mr(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(tn(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===Lr?(tn(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(tn(t,!1),0===t.strm.avail_out)?1:2},cn=(t,e)=>{let s,i,r;for(;;){if(t.lookahead=3&&(t.ins_h=Jr(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==s&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){r=t.strstart+t.lookahead-3,i=mr(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=r&&(t.ins_h=Jr(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(tn(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=mr(t,0,t.window[t.strstart-1]),i&&tn(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=mr(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===Lr?(tn(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(tn(t,!1),0===t.strm.avail_out)?1:2};function ln(t,e,s,i,r){this.good_length=t,this.max_lazy=e,this.nice_length=s,this.max_chain=i,this.func=r}const pn=[new ln(0,0,0,0,on),new ln(4,4,8,4,hn),new ln(4,5,16,8,hn),new ln(4,6,32,32,hn),new ln(4,4,16,16,cn),new ln(8,16,32,32,cn),new ln(8,16,128,128,cn),new ln(8,32,128,256,cn),new ln(32,128,258,1024,cn),new ln(32,258,258,4096,cn)];function un(){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=Wr,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),qr(this.dyn_ltree),qr(this.dyn_dtree),qr(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),qr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),qr(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}const En=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==zr&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==kr&&e.status!==Xr?1:0},In=t=>{if(En(t))return Kr(t,xr);t.total_in=t.total_out=0,t.data_type=Vr;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?zr:kr,t.adler=2===e.wrap?0:1,e.last_flush=-2,fr(e),Pr},yn=t=>{const e=In(t);var s;return e===Pr&&((s=t.state).window_size=2*s.w_size,qr(s.head),s.max_lazy_match=pn[s.level].max_lazy,s.good_match=pn[s.level].good_length,s.nice_match=pn[s.level].nice_length,s.max_chain_length=pn[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=2,s.match_available=0,s.ins_h=0),e},Tn=(t,e,s,i,r,n)=>{if(!t)return xr;let a=1;if(e===Fr&&(e=6),i<0?(a=0,i=-i):i>15&&(a=2,i-=16),r<1||r>9||s!==Wr||i<8||i>15||e<0||e>9||n<0||n>Hr||8===i&&1!==a)return Kr(t,xr);8===i&&(i=9);const o=new un;return t.state=o,o.strm=t,o.status=zr,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<Tn(t,e,Wr,15,8,Br),deflateInit2:Tn,deflateReset:yn,deflateResetKeep:In,deflateSetHeader:(t,e)=>En(t)||2!==t.state.wrap?xr:(t.state.gzhead=e,Pr),deflate:(t,e)=>{if(En(t)||e>br||e<0)return t?Kr(t,xr):xr;const s=t.state;if(!t.output||0!==t.avail_in&&!t.input||s.status===Xr&&e!==Lr)return Kr(t,0===t.avail_out?Mr:xr);const i=s.last_flush;if(s.last_flush=e,0!==s.pending){if($r(t),0===t.avail_out)return s.last_flush=-1,Pr}else if(0===t.avail_in&&Zr(e)<=Zr(i)&&e!==Lr)return Kr(t,Mr);if(s.status===Xr&&0!==t.avail_in)return Kr(t,Mr);if(s.status===zr&&0===s.wrap&&(s.status=kr),s.status===zr){let e=Wr+(s.w_bits-8<<4)<<8,i=-1;if(i=s.strategy>=wr||s.level<2?0:s.level<6?1:6===s.level?2:3,e|=i<<6,0!==s.strstart&&(e|=32),e+=31-e%31,sn(s,e),0!==s.strstart&&(sn(s,t.adler>>>16),sn(s,65535&t.adler)),t.adler=1,s.status=kr,$r(t),0!==s.pending)return s.last_flush=-1,Pr}if(57===s.status)if(t.adler=0,en(s,31),en(s,139),en(s,8),s.gzhead)en(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(s.gzhead.extra?4:0)+(s.gzhead.name?8:0)+(s.gzhead.comment?16:0)),en(s,255&s.gzhead.time),en(s,s.gzhead.time>>8&255),en(s,s.gzhead.time>>16&255),en(s,s.gzhead.time>>24&255),en(s,9===s.level?2:s.strategy>=wr||s.level<2?4:0),en(s,255&s.gzhead.os),s.gzhead.extra&&s.gzhead.extra.length&&(en(s,255&s.gzhead.extra.length),en(s,s.gzhead.extra.length>>8&255)),s.gzhead.hcrc&&(t.adler=dr(t.adler,s.pending_buf,s.pending,0)),s.gzindex=0,s.status=69;else if(en(s,0),en(s,0),en(s,0),en(s,0),en(s,0),en(s,9===s.level?2:s.strategy>=wr||s.level<2?4:0),en(s,3),s.status=kr,$r(t),0!==s.pending)return s.last_flush=-1,Pr;if(69===s.status){if(s.gzhead.extra){let e=s.pending,i=(65535&s.gzhead.extra.length)-s.gzindex;for(;s.pending+i>s.pending_buf_size;){let r=s.pending_buf_size-s.pending;if(s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex,s.gzindex+r),s.pending),s.pending=s.pending_buf_size,s.gzhead.hcrc&&s.pending>e&&(t.adler=dr(t.adler,s.pending_buf,s.pending-e,e)),s.gzindex+=r,$r(t),0!==s.pending)return s.last_flush=-1,Pr;e=0,i-=r}let r=new Uint8Array(s.gzhead.extra);s.pending_buf.set(r.subarray(s.gzindex,s.gzindex+i),s.pending),s.pending+=i,s.gzhead.hcrc&&s.pending>e&&(t.adler=dr(t.adler,s.pending_buf,s.pending-e,e)),s.gzindex=0}s.status=73}if(73===s.status){if(s.gzhead.name){let e,i=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>i&&(t.adler=dr(t.adler,s.pending_buf,s.pending-i,i)),$r(t),0!==s.pending)return s.last_flush=-1,Pr;i=0}e=s.gzindexi&&(t.adler=dr(t.adler,s.pending_buf,s.pending-i,i)),s.gzindex=0}s.status=91}if(91===s.status){if(s.gzhead.comment){let e,i=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>i&&(t.adler=dr(t.adler,s.pending_buf,s.pending-i,i)),$r(t),0!==s.pending)return s.last_flush=-1,Pr;i=0}e=s.gzindexi&&(t.adler=dr(t.adler,s.pending_buf,s.pending-i,i))}s.status=103}if(103===s.status){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size&&($r(t),0!==s.pending))return s.last_flush=-1,Pr;en(s,255&t.adler),en(s,t.adler>>8&255),t.adler=0}if(s.status=kr,$r(t),0!==s.pending)return s.last_flush=-1,Pr}if(0!==t.avail_in||0!==s.lookahead||e!==Sr&&s.status!==Xr){let i=0===s.level?on(s,e):s.strategy===wr?((t,e)=>{let s;for(;;){if(0===t.lookahead&&(an(t),0===t.lookahead)){if(e===Sr)return 1;break}if(t.match_length=0,s=mr(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,s&&(tn(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Lr?(tn(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(tn(t,!1),0===t.strm.avail_out)?1:2})(s,e):s.strategy===Gr?((t,e)=>{let s,i,r,n;const a=t.window;for(;;){if(t.lookahead<=jr){if(an(t),t.lookahead<=jr&&e===Sr)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(r=t.strstart-1,i=a[r],i===a[++r]&&i===a[++r]&&i===a[++r])){n=t.strstart+jr;do{}while(i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&rt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(s=mr(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(s=mr(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),s&&(tn(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Lr?(tn(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(tn(t,!1),0===t.strm.avail_out)?1:2})(s,e):pn[s.level].func(s,e);if(3!==i&&4!==i||(s.status=Xr),1===i||3===i)return 0===t.avail_out&&(s.last_flush=-1),Pr;if(2===i&&(e===Cr?Ar(s):e!==br&&(Or(s,0,0,!1),e===vr&&(qr(s.head),0===s.lookahead&&(s.strstart=0,s.block_start=0,s.insert=0))),$r(t),0===t.avail_out))return s.last_flush=-1,Pr}return e!==Lr?Pr:s.wrap<=0?gr:(2===s.wrap?(en(s,255&t.adler),en(s,t.adler>>8&255),en(s,t.adler>>16&255),en(s,t.adler>>24&255),en(s,255&t.total_in),en(s,t.total_in>>8&255),en(s,t.total_in>>16&255),en(s,t.total_in>>24&255)):(sn(s,t.adler>>>16),sn(s,65535&t.adler)),$r(t),s.wrap>0&&(s.wrap=-s.wrap),0!==s.pending?Pr:gr)},deflateEnd:t=>{if(En(t))return xr;const e=t.state.status;return t.state=null,e===kr?Kr(t,_r):Pr},deflateSetDictionary:(t,e)=>{let s=e.length;if(En(t))return xr;const i=t.state,r=i.wrap;if(2===r||1===r&&i.status!==zr||i.lookahead)return xr;if(1===r&&(t.adler=yr(t.adler,e,s,0)),i.wrap=0,s>=i.w_size){0===r&&(qr(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(s-i.w_size,s),0),e=t,s=i.w_size}const n=t.avail_in,a=t.next_in,o=t.input;for(t.avail_in=s,t.next_in=0,t.input=e,an(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=Jr(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,an(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=a,t.input=o,t.avail_in=n,i.wrap=r,Pr},deflateInfo:"pako deflate (from Nodeca project)"};const Nn=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Rn=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const s=e.shift();if(s){if("object"!=typeof s)throw new TypeError(s+"must be non-object");for(const e in s)Nn(s,e)&&(t[e]=s[e])}}return t},fn=t=>{let e=0;for(let s=0,i=t.length;s=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Dn[254]=Dn[254]=1;var mn=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,s,i,r,n,a=t.length,o=0;for(r=0;r>>6,e[n++]=128|63&s):s<65536?(e[n++]=224|s>>>12,e[n++]=128|s>>>6&63,e[n++]=128|63&s):(e[n++]=240|s>>>18,e[n++]=128|s>>>12&63,e[n++]=128|s>>>6&63,e[n++]=128|63&s);return e},An=(t,e)=>{const s=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,r;const n=new Array(2*s);for(r=0,i=0;i4)n[r++]=65533,i+=a-1;else{for(e&=2===a?31:3===a?15:7;a>1&&i1?n[r++]=65533:e<65536?n[r++]=e:(e-=65536,n[r++]=55296|e>>10&1023,n[r++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&On)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let s="";for(let i=0;i{(e=e||t.length)>t.length&&(e=t.length);let s=e-1;for(;s>=0&&128==(192&t[s]);)s--;return s<0||0===s?e:s+Dn[t[s]]>e?s:e};var Cn=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};const vn=Object.prototype.toString,{Z_NO_FLUSH:Ln,Z_SYNC_FLUSH:bn,Z_FULL_FLUSH:Pn,Z_FINISH:gn,Z_OK:xn,Z_STREAM_END:_n,Z_DEFAULT_COMPRESSION:Mn,Z_DEFAULT_STRATEGY:Fn,Z_DEFLATED:Un}=Rr;function wn(t){this.options=Rn({level:Mn,method:Un,chunkSize:16384,windowBits:15,memLevel:8,strategy:Fn},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Cn,this.strm.avail_out=0;let s=dn.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(s!==xn)throw new Error(Nr[s]);if(e.header&&dn.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?mn(e.dictionary):"[object ArrayBuffer]"===vn.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,s=dn.deflateSetDictionary(this.strm,t),s!==xn)throw new Error(Nr[s]);this._dict_set=!0}}function Gn(t,e){const s=new wn(e);if(s.push(t,!0),s.err)throw s.msg||Nr[s.err];return s.result}wn.prototype.push=function(t,e){const s=this.strm,i=this.options.chunkSize;let r,n;if(this.ended)return!1;for(n=e===~~e?e:!0===e?gn:Ln,"string"==typeof t?s.input=mn(t):"[object ArrayBuffer]"===vn.call(t)?s.input=new Uint8Array(t):s.input=t,s.next_in=0,s.avail_in=s.input.length;;)if(0===s.avail_out&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),(n===bn||n===Pn)&&s.avail_out<=6)this.onData(s.output.subarray(0,s.next_out)),s.avail_out=0;else{if(r=dn.deflate(s,n),r===_n)return s.next_out>0&&this.onData(s.output.subarray(0,s.next_out)),r=dn.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===xn;if(0!==s.avail_out){if(n>0&&s.next_out>0)this.onData(s.output.subarray(0,s.next_out)),s.avail_out=0;else if(0===s.avail_in)break}else this.onData(s.output)}return!0},wn.prototype.onData=function(t){this.chunks.push(t)},wn.prototype.onEnd=function(t){t===xn&&(this.result=fn(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Hn={Deflate:wn,deflate:Gn,deflateRaw:function(t,e){return(e=e||{}).raw=!0,Gn(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,Gn(t,e)}};const Bn=16209;var Vn=function(t,e){let s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D,m,A,S;const C=t.state;s=t.next_in,A=t.input,i=s+(t.avail_in-5),r=t.next_out,S=t.output,n=r-(e-t.avail_out),a=r+(t.avail_out-257),o=C.dmax,h=C.wsize,c=C.whave,l=C.wnext,p=C.window,u=C.hold,E=C.bits,I=C.lencode,y=C.distcode,T=(1<>>24,u>>>=R,E-=R,R=N>>>16&255,0===R)S[r++]=65535&N;else{if(!(16&R)){if(64&R){if(32&R){C.mode=16191;break t}t.msg="invalid literal/length code",C.mode=Bn;break t}N=I[(65535&N)+(u&(1<>>=R,E-=R),E<15&&(u+=A[s++]<>>24,u>>>=R,E-=R,R=N>>>16&255,16&R){if(O=65535&N,R&=15,Eo){t.msg="invalid distance too far back",C.mode=Bn;break t}if(u>>>=R,E-=R,R=r-n,O>R){if(R=O-R,R>c&&C.sane){t.msg="invalid distance too far back",C.mode=Bn;break t}if(D=0,m=p,0===l){if(D+=h-R,R2;)S[r++]=m[D++],S[r++]=m[D++],S[r++]=m[D++],f-=3;f&&(S[r++]=m[D++],f>1&&(S[r++]=m[D++]))}else{D=r-O;do{S[r++]=S[D++],S[r++]=S[D++],S[r++]=S[D++],f-=3}while(f>2);f&&(S[r++]=S[D++],f>1&&(S[r++]=S[D++]))}break}if(64&R){t.msg="invalid distance code",C.mode=Bn;break t}N=y[(65535&N)+(u&(1<>3,s-=f,E-=f<<3,u&=(1<{const h=o.bits;let c,l,p,u,E,I,y=0,T=0,d=0,N=0,R=0,f=0,O=0,D=0,m=0,A=0,S=null;const C=new Uint16Array(16),v=new Uint16Array(16);let L,b,P,g=null;for(y=0;y<=Wn;y++)C[y]=0;for(T=0;T=1&&0===C[N];N--);if(R>N&&(R=N),0===N)return r[n++]=20971520,r[n++]=20971520,o.bits=1,0;for(d=1;d0&&(0===t||1!==N))return-1;for(v[1]=0,y=1;y852||2===t&&m>592)return 1;for(;;){L=y-O,a[T]+1=I?(b=g[a[T]-I],P=S[a[T]-I]):(b=96,P=0),c=1<>O)+l]=L<<24|b<<16|P}while(0!==l);for(c=1<>=1;if(0!==c?(A&=c-1,A+=c):A=0,T++,0==--C[y]){if(y===N)break;y=e[s+a[T]]}if(y>R&&(A&u)!==p){for(0===O&&(O=R),E+=d,f=y-O,D=1<852||2===t&&m>592)return 1;p=A&u,r[p]=R<<24|f<<16|E-n}}return 0!==A&&(r[E+A]=y-O<<24|64<<16),o.bits=R,0};const{Z_FINISH:Kn,Z_BLOCK:Zn,Z_TREES:qn,Z_OK:Qn,Z_STREAM_END:Jn,Z_NEED_DICT:$n,Z_STREAM_ERROR:ta,Z_DATA_ERROR:ea,Z_MEM_ERROR:sa,Z_BUF_ERROR:ia,Z_DEFLATED:ra}=Rr,na=16180,aa=16190,oa=16191,ha=16192,ca=16194,la=16199,pa=16200,ua=16206,Ea=16209,Ia=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ya(){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}const Ta=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode16211?1:0},da=t=>{if(Ta(t))return ta;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=na,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,Qn},Na=t=>{if(Ta(t))return ta;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,da(t)},Ra=(t,e)=>{let s;if(Ta(t))return ta;const i=t.state;return e<0?(s=0,e=-e):(s=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?ta:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=s,i.wbits=e,Na(t))},fa=(t,e)=>{if(!t)return ta;const s=new ya;t.state=s,s.strm=t,s.window=null,s.mode=na;const i=Ra(t,e);return i!==Qn&&(t.state=null),i};let Oa,Da,ma=!0;const Aa=t=>{if(ma){Oa=new Int32Array(512),Da=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(Xn(1,t.lens,0,288,Oa,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;Xn(2,t.lens,0,32,Da,0,t.work,{bits:5}),ma=!1}t.lencode=Oa,t.lenbits=9,t.distcode=Da,t.distbits=5},Sa=(t,e,s,i)=>{let r;const n=t.state;return null===n.window&&(n.wsize=1<=n.wsize?(n.window.set(e.subarray(s-n.wsize,s),0),n.wnext=0,n.whave=n.wsize):(r=n.wsize-n.wnext,r>i&&(r=i),n.window.set(e.subarray(s-i,s-i+r),n.wnext),(i-=r)?(n.window.set(e.subarray(s-i,s),0),n.wnext=i,n.whave=n.wsize):(n.wnext+=r,n.wnext===n.wsize&&(n.wnext=0),n.whavefa(t,15),inflateInit2:fa,inflate:(t,e)=>{let s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D,m,A=0;const S=new Uint8Array(4);let C,v;const L=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ta(t)||!t.output||!t.input&&0!==t.avail_in)return ta;s=t.state,s.mode===oa&&(s.mode=ha),a=t.next_out,r=t.output,h=t.avail_out,n=t.next_in,i=t.input,o=t.avail_in,c=s.hold,l=s.bits,p=o,u=h,m=Qn;t:for(;;)switch(s.mode){case na:if(0===s.wrap){s.mode=ha;break}for(;l<16;){if(0===o)break t;o--,c+=i[n++]<>>8&255,s.check=dr(s.check,S,2,0),c=0,l=0,s.mode=16181;break}if(s.head&&(s.head.done=!1),!(1&s.wrap)||(((255&c)<<8)+(c>>8))%31){t.msg="incorrect header check",s.mode=Ea;break}if((15&c)!==ra){t.msg="unknown compression method",s.mode=Ea;break}if(c>>>=4,l-=4,D=8+(15&c),0===s.wbits&&(s.wbits=D),D>15||D>s.wbits){t.msg="invalid window size",s.mode=Ea;break}s.dmax=1<>8&1),512&s.flags&&4&s.wrap&&(S[0]=255&c,S[1]=c>>>8&255,s.check=dr(s.check,S,2,0)),c=0,l=0,s.mode=16182;case 16182:for(;l<32;){if(0===o)break t;o--,c+=i[n++]<>>8&255,S[2]=c>>>16&255,S[3]=c>>>24&255,s.check=dr(s.check,S,4,0)),c=0,l=0,s.mode=16183;case 16183:for(;l<16;){if(0===o)break t;o--,c+=i[n++]<>8),512&s.flags&&4&s.wrap&&(S[0]=255&c,S[1]=c>>>8&255,s.check=dr(s.check,S,2,0)),c=0,l=0,s.mode=16184;case 16184:if(1024&s.flags){for(;l<16;){if(0===o)break t;o--,c+=i[n++]<>>8&255,s.check=dr(s.check,S,2,0)),c=0,l=0}else s.head&&(s.head.extra=null);s.mode=16185;case 16185:if(1024&s.flags&&(E=s.length,E>o&&(E=o),E&&(s.head&&(D=s.head.extra_len-s.length,s.head.extra||(s.head.extra=new Uint8Array(s.head.extra_len)),s.head.extra.set(i.subarray(n,n+E),D)),512&s.flags&&4&s.wrap&&(s.check=dr(s.check,i,E,n)),o-=E,n+=E,s.length-=E),s.length))break t;s.length=0,s.mode=16186;case 16186:if(2048&s.flags){if(0===o)break t;E=0;do{D=i[n+E++],s.head&&D&&s.length<65536&&(s.head.name+=String.fromCharCode(D))}while(D&&E>9&1,s.head.done=!0),t.adler=s.check=0,s.mode=oa;break;case 16189:for(;l<32;){if(0===o)break t;o--,c+=i[n++]<>>=7&l,l-=7&l,s.mode=ua;break}for(;l<3;){if(0===o)break t;o--,c+=i[n++]<>>=1,l-=1,3&c){case 0:s.mode=16193;break;case 1:if(Aa(s),s.mode=la,e===qn){c>>>=2,l-=2;break t}break;case 2:s.mode=16196;break;case 3:t.msg="invalid block type",s.mode=Ea}c>>>=2,l-=2;break;case 16193:for(c>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,c+=i[n++]<>>16^65535)){t.msg="invalid stored block lengths",s.mode=Ea;break}if(s.length=65535&c,c=0,l=0,s.mode=ca,e===qn)break t;case ca:s.mode=16195;case 16195:if(E=s.length,E){if(E>o&&(E=o),E>h&&(E=h),0===E)break t;r.set(i.subarray(n,n+E),a),o-=E,n+=E,h-=E,a+=E,s.length-=E;break}s.mode=oa;break;case 16196:for(;l<14;){if(0===o)break t;o--,c+=i[n++]<>>=5,l-=5,s.ndist=1+(31&c),c>>>=5,l-=5,s.ncode=4+(15&c),c>>>=4,l-=4,s.nlen>286||s.ndist>30){t.msg="too many length or distance symbols",s.mode=Ea;break}s.have=0,s.mode=16197;case 16197:for(;s.have>>=3,l-=3}for(;s.have<19;)s.lens[L[s.have++]]=0;if(s.lencode=s.lendyn,s.lenbits=7,C={bits:s.lenbits},m=Xn(0,s.lens,0,19,s.lencode,0,s.work,C),s.lenbits=C.bits,m){t.msg="invalid code lengths set",s.mode=Ea;break}s.have=0,s.mode=16198;case 16198:for(;s.have>>24,d=A>>>16&255,N=65535&A,!(T<=l);){if(0===o)break t;o--,c+=i[n++]<>>=T,l-=T,s.lens[s.have++]=N;else{if(16===N){for(v=T+2;l>>=T,l-=T,0===s.have){t.msg="invalid bit length repeat",s.mode=Ea;break}D=s.lens[s.have-1],E=3+(3&c),c>>>=2,l-=2}else if(17===N){for(v=T+3;l>>=T,l-=T,D=0,E=3+(7&c),c>>>=3,l-=3}else{for(v=T+7;l>>=T,l-=T,D=0,E=11+(127&c),c>>>=7,l-=7}if(s.have+E>s.nlen+s.ndist){t.msg="invalid bit length repeat",s.mode=Ea;break}for(;E--;)s.lens[s.have++]=D}}if(s.mode===Ea)break;if(0===s.lens[256]){t.msg="invalid code -- missing end-of-block",s.mode=Ea;break}if(s.lenbits=9,C={bits:s.lenbits},m=Xn(1,s.lens,0,s.nlen,s.lencode,0,s.work,C),s.lenbits=C.bits,m){t.msg="invalid literal/lengths set",s.mode=Ea;break}if(s.distbits=6,s.distcode=s.distdyn,C={bits:s.distbits},m=Xn(2,s.lens,s.nlen,s.ndist,s.distcode,0,s.work,C),s.distbits=C.bits,m){t.msg="invalid distances set",s.mode=Ea;break}if(s.mode=la,e===qn)break t;case la:s.mode=pa;case pa:if(o>=6&&h>=258){t.next_out=a,t.avail_out=h,t.next_in=n,t.avail_in=o,s.hold=c,s.bits=l,Vn(t,u),a=t.next_out,r=t.output,h=t.avail_out,n=t.next_in,i=t.input,o=t.avail_in,c=s.hold,l=s.bits,s.mode===oa&&(s.back=-1);break}for(s.back=0;A=s.lencode[c&(1<>>24,d=A>>>16&255,N=65535&A,!(T<=l);){if(0===o)break t;o--,c+=i[n++]<>R)],T=A>>>24,d=A>>>16&255,N=65535&A,!(R+T<=l);){if(0===o)break t;o--,c+=i[n++]<>>=R,l-=R,s.back+=R}if(c>>>=T,l-=T,s.back+=T,s.length=N,0===d){s.mode=16205;break}if(32&d){s.back=-1,s.mode=oa;break}if(64&d){t.msg="invalid literal/length code",s.mode=Ea;break}s.extra=15&d,s.mode=16201;case 16201:if(s.extra){for(v=s.extra;l>>=s.extra,l-=s.extra,s.back+=s.extra}s.was=s.length,s.mode=16202;case 16202:for(;A=s.distcode[c&(1<>>24,d=A>>>16&255,N=65535&A,!(T<=l);){if(0===o)break t;o--,c+=i[n++]<>R)],T=A>>>24,d=A>>>16&255,N=65535&A,!(R+T<=l);){if(0===o)break t;o--,c+=i[n++]<>>=R,l-=R,s.back+=R}if(c>>>=T,l-=T,s.back+=T,64&d){t.msg="invalid distance code",s.mode=Ea;break}s.offset=N,s.extra=15&d,s.mode=16203;case 16203:if(s.extra){for(v=s.extra;l>>=s.extra,l-=s.extra,s.back+=s.extra}if(s.offset>s.dmax){t.msg="invalid distance too far back",s.mode=Ea;break}s.mode=16204;case 16204:if(0===h)break t;if(E=u-h,s.offset>E){if(E=s.offset-E,E>s.whave&&s.sane){t.msg="invalid distance too far back",s.mode=Ea;break}E>s.wnext?(E-=s.wnext,I=s.wsize-E):I=s.wnext-E,E>s.length&&(E=s.length),y=s.window}else y=r,I=a-s.offset,E=s.length;E>h&&(E=h),h-=E,s.length-=E;do{r[a++]=y[I++]}while(--E);0===s.length&&(s.mode=pa);break;case 16205:if(0===h)break t;r[a++]=s.length,h--,s.mode=pa;break;case ua:if(s.wrap){for(;l<32;){if(0===o)break t;o--,c|=i[n++]<{if(Ta(t))return ta;let e=t.state;return e.window&&(e.window=null),t.state=null,Qn},inflateGetHeader:(t,e)=>{if(Ta(t))return ta;const s=t.state;return 2&s.wrap?(s.head=e,e.done=!1,Qn):ta},inflateSetDictionary:(t,e)=>{const s=e.length;let i,r,n;return Ta(t)?ta:(i=t.state,0!==i.wrap&&i.mode!==aa?ta:i.mode===aa&&(r=1,r=yr(r,e,s,0),r!==i.check)?ea:(n=Sa(t,e,s,s),n?(i.mode=16210,sa):(i.havedict=1,Qn)))},inflateInfo:"pako inflate (from Nodeca project)"};var va=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const La=Object.prototype.toString,{Z_NO_FLUSH:ba,Z_FINISH:Pa,Z_OK:ga,Z_STREAM_END:xa,Z_NEED_DICT:_a,Z_STREAM_ERROR:Ma,Z_DATA_ERROR:Fa,Z_MEM_ERROR:Ua}=Rr;function wa(t){this.options=Rn({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(15&e.windowBits||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Cn,this.strm.avail_out=0;let s=Ca.inflateInit2(this.strm,e.windowBits);if(s!==ga)throw new Error(Nr[s]);if(this.header=new va,Ca.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=mn(e.dictionary):"[object ArrayBuffer]"===La.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(s=Ca.inflateSetDictionary(this.strm,e.dictionary),s!==ga)))throw new Error(Nr[s])}function Ga(t,e){const s=new wa(e);if(s.push(t),s.err)throw s.msg||Nr[s.err];return s.result}wa.prototype.push=function(t,e){const s=this.strm,i=this.options.chunkSize,r=this.options.dictionary;let n,a,o;if(this.ended)return!1;for(a=e===~~e?e:!0===e?Pa:ba,"[object ArrayBuffer]"===La.call(t)?s.input=new Uint8Array(t):s.input=t,s.next_in=0,s.avail_in=s.input.length;;){for(0===s.avail_out&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),n=Ca.inflate(s,a),n===_a&&r&&(n=Ca.inflateSetDictionary(s,r),n===ga?n=Ca.inflate(s,a):n===Fa&&(n=_a));s.avail_in>0&&n===xa&&s.state.wrap>0&&0!==t[s.next_in];)Ca.inflateReset(s),n=Ca.inflate(s,a);switch(n){case Ma:case Fa:case _a:case Ua:return this.onEnd(n),this.ended=!0,!1}if(o=s.avail_out,s.next_out&&(0===s.avail_out||n===xa))if("string"===this.options.to){let t=Sn(s.output,s.next_out),e=s.next_out-t,r=An(s.output,t);s.next_out=e,s.avail_out=i-e,e&&s.output.set(s.output.subarray(t,t+e),0),this.onData(r)}else this.onData(s.output.length===s.next_out?s.output:s.output.subarray(0,s.next_out));if(n!==ga||0!==o){if(n===xa)return n=Ca.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(0===s.avail_in)break}}return!0},wa.prototype.onData=function(t){this.chunks.push(t)},wa.prototype.onEnd=function(t){t===ga&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=fn(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Ha={Inflate:wa,inflate:Ga,inflateRaw:function(t,e){return(e=e||{}).raw=!0,Ga(t,e)},ungzip:Ga};const{Deflate:Ba,deflate:Va,deflateRaw:Wa,gzip:ja}=Hn,{Inflate:Ya,inflate:za,inflateRaw:ka,ungzip:Xa}=Ha;var Ka={Deflate:Ba,deflate:Va,deflateRaw:Wa,gzip:ja,Inflate:Ya,inflate:za,inflateRaw:ka,ungzip:Xa,constants:Rr};class Za{constructor(t){at(this,"id"),at(this,"thread"),this.id=this.getId(),this.thread=t,this.thread.actions[this.id]=t=>this.execute(t)}}const qa=new Int32Array(2),Qa=new Float32Array(qa.buffer),Ja=new Float64Array(qa.buffer),$a=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0];var to,eo;(eo=to||(to={}))[eo.UTF8_BYTES=1]="UTF8_BYTES",eo[eo.UTF16_STRING=2]="UTF16_STRING";class so{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new so(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,Number(BigInt.asIntN(32,e))),this.writeInt32(t+4,Number(BigInt.asIntN(32,e>>BigInt(32))))}writeUint64(t,e){this.writeUint32(t,Number(BigInt.asUintN(32,e))),this.writeUint32(t+4,Number(BigInt.asUintN(32,e>>BigInt(32))))}writeFloat32(t,e){Qa[0]=e,this.writeInt32(t,qa[0])}writeFloat64(t,e){Ja[0]=e,this.writeInt32(t,qa[$a?0:1]),this.writeInt32(t+4,qa[$a?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=t);const s=1+~(this.bb.capacity()-this.space+e)&t-1;for(;this.space=0&&0==this.vtable[e];e--);const s=e+1;for(;e>=0;e--)this.addInt16(0!=this.vtable[e]?t-this.vtable[e]:0);this.addInt16(t-this.object_start);const i=2*(s+2);this.addInt16(i);let r=0;const n=this.space;t:for(e=0;e=0;e--)this.writeInt8(t.charCodeAt(e))}this.prep(this.minalign,4+i),this.addOffset(t),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){const s=this.bb.capacity()-t,i=s-this.bb.readInt32(s);if(!(e65535?new Uint32Array(new e(4*t)):new Uint16Array(new e(2*t))}(s,e.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer);t.setIndex(new bs(i,1));for(let t=0;tt-e));for(let t=0;ts&&(s=r,e=i)}return e}function Io(t,e){e.set(t)}function yo(t,e,s){let i,r;for(let n=0;n<3;n++){const a=n+3;i=t[n],r=e[n],s[n]=ir?i:r}}function To(t,e,s){for(let i=0;i<3;i++){const r=e[t+2*i],n=e[t+2*i+1],a=r-n,o=r+n;as[i+3]&&(s[i+3]=o)}}function No(t){const e=t[3]-t[0],s=t[4]-t[1],i=t[5]-t[2];return 2*(e*s+s*i+i*e)}function Ro(t,e,s,i,r=null){let n=1/0,a=1/0,o=1/0,h=-1/0,c=-1/0,l=-1/0,p=1/0,u=1/0,E=1/0,I=-1/0,y=-1/0,T=-1/0;const d=null!==r;for(let i=6*e,r=6*(e+s);ih&&(h=N),d&&eI&&(I=e);const R=t[i+2],f=t[i+3],O=R-f,D=R+f;Oc&&(c=D),d&&Ry&&(y=R);const m=t[i+4],A=t[i+5],S=m-A,C=m+A;Sl&&(l=C),d&&mT&&(T=m)}i[0]=n,i[1]=a,i[2]=o,i[3]=h,i[4]=c,i[5]=l,d&&(r[0]=p,r[1]=u,r[2]=E,r[3]=I,r[4]=y,r[5]=T)}const fo=32,Oo=(t,e)=>t.candidate-e.candidate,Do=new Array(fo).fill().map((()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}))),mo=new Float32Array(6);class Ao{constructor(){}}function So(t,e,s,i,r,n){let a=i,o=i+r-1;const h=n.pos,c=2*n.axis;for(;;){for(;a<=o&&s[6*a+c]=h;)o--;if(!(a=h;)o--;if(!(ay&&(y=r),c>y&&(y=c);const T=(y-l)/2,d=2*t;a[n+d+0]=l+T,a[n+d+1]=T+(Math.abs(l)+T)*ao,le[t+3]&&(e[t+3]=y)}}return a}(s,u),y=e.indirect?Co:So,T=[],d=e.indirect?lo(s):po(s);if(1===d.length){const t=d[0],e=new Ao;e.boundingData=u,function(t,e,s,i){let r=1/0,n=1/0,a=1/0,o=-1/0,h=-1/0,c=-1/0;for(let i=6*e,l=6*(e+s);io&&(o=e);const s=t[i+2];sh&&(h=s);const l=t[i+4];lc&&(c=l)}i[0]=r,i[1]=n,i[2]=a,i[3]=o,i[4]=h,i[5]=c}(I,t.offset,t.count,E),R(e,t.offset,t.count,E),T.push(e)}else for(let t of d){const e=new Ao;e.boundingData=new Float32Array(6),Ro(I,t.offset,t.count,e.boundingData,E),R(e,t.offset,t.count,E),T.push(e)}return T;function N(t){h&&h(t/c)}function R(t,e,h,c=null,u=0){if(!p&&u>=r&&(p=!0,n&&(console.warn(`MeshBVH: Max depth of ${r} reached when generating BVH. Consider increasing maxDepth.`),console.warn(s))),h<=a||u>=r)return N(e+h),t.offset=e,t.count=h,t;const T=function(t,e,s,i,r,n){let a=-1,o=0;if(0===n)a=Eo(e),-1!==a&&(o=(e[a]+e[a+3])/2);else if(1===n)a=Eo(t),-1!==a&&(o=function(t,e,s,i){let r=0;for(let n=e,a=e+s;n=n.candidate?To(i,s,n.rightCacheBounds):(To(i,s,n.leftCacheBounds),n.count++)}}for(let s=0;s=fo&&(r=31);const n=Do[r];n.count++,To(e,s,n.bounds)}const e=Do[31];Io(e.bounds,e.rightCacheBounds);for(let t=30;t>=0;t--){const e=Do[t],s=Do[t+1];yo(e.bounds,s.rightCacheBounds,e.rightCacheBounds)}let u=0;for(let e=0;e<31;e++){const s=Do[e],i=s.count,c=s.bounds,l=Do[e+1].rightCacheBounds;0!==i&&(0===u?Io(c,mo):yo(c,mo,mo)),u+=i;let p=0,E=0;0!==u&&(p=No(mo)/n);const I=r-u;0!==I&&(E=No(l)/n);const y=1+ro*(p*u+E*I);y65536,r=i?4:2,n=e?new SharedArrayBuffer(s*r):new ArrayBuffer(s*r),a=i?new Uint32Array(n):new Uint16Array(n);for(let t=0,e=a.length;tt.offset-e.offset)),i=s[s.length-1];i.count=Math.min(e-i.offset,i.count);let r=0;return s.forEach((({count:t})=>r+=t)),e!==r}(s)&&!e.verbose&&console.warn('MeshBVH: Provided geometry contains groups that do not fully span the vertex contents while using the "indirect" option. BVH may incorrectly report intersections on unrendered portions of the geometry.')),t._indirectBuffer||co(s,e);const i=vo(t,e);let r,n,a;const o=[],h=e.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let t=0;tMath.pow(2,32))throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");return n[s+6]=o/4,o=l(o,r),n[s+7]=a,o}}}class bo{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(t,e){let s=1/0,i=-1/0;for(let r=0,n=t.length;ri?n:i}this.min=s,this.max=i}setFromPoints(t,e){let s=1/0,i=-1/0;for(let r=0,n=e.length;ri?a:i}this.min=s,this.max=i}isSeparated(t){return this.min>t.max||t.min>this.max}}bo.prototype.setFromBox=function(){const t=new $t;return function(e,s){const i=s.min,r=s.max;let n=1/0,a=-1/0;for(let s=0;s<=1;s++)for(let o=0;o<=1;o++)for(let h=0;h<=1;h++){t.x=i.x*s+r.x*(1-s),t.y=i.y*o+r.y*(1-o),t.z=i.z*h+r.z*(1-h);const c=e.dot(t);n=Math.min(c,n),a=Math.max(c,a)}this.min=n,this.max=a}}();const Po=function(){const t=new $t,e=new $t,s=new $t;return function(i,r,n){const a=i.start,o=t,h=r.start,c=e;s.subVectors(a,h),t.subVectors(i.end,i.start),e.subVectors(r.end,r.start);const l=s.dot(c),p=c.dot(o),u=c.dot(c),E=s.dot(o),I=o.dot(o)*u-p*p;let y,T;y=0!==I?(l*p-E*u)/I:0,T=(l+y*p)/u,n.x=y,n.y=T}}(),go=function(){const t=new Mt,e=new $t,s=new $t;return function(i,r,n,a){Po(i,r,t);let o=t.x,h=t.y;if(o>=0&&o<=1&&h>=0&&h<=1)return i.at(o,n),void r.at(h,a);if(o>=0&&o<=1)return h<0?r.at(0,a):r.at(1,a),void i.closestPointToPoint(a,!0,n);if(h>=0&&h<=1)return o<0?i.at(0,n):i.at(1,n),void r.closestPointToPoint(n,!0,a);{let t,c;t=o<0?i.start:i.end,c=h<0?r.start:r.end;const l=e,p=s;return i.closestPointToPoint(c,!0,e),r.closestPointToPoint(t,!0,s),l.distanceToSquared(c)<=p.distanceToSquared(t)?(n.copy(l),void a.copy(c)):(n.copy(t),void a.copy(p))}}}(),xo=function(){const t=new $t,e=new $t,s=new Ei,i=new Ri;return function(r,n){const{radius:a,center:o}=r,{a:h,b:c,c:l}=n;i.start=h,i.end=c;if(i.closestPointToPoint(o,!0,t).distanceTo(o)<=a)return!0;i.start=h,i.end=l;if(i.closestPointToPoint(o,!0,t).distanceTo(o)<=a)return!0;i.start=c,i.end=l;if(i.closestPointToPoint(o,!0,t).distanceTo(o)<=a)return!0;const p=n.getPlane(s);if(Math.abs(p.distanceToPoint(o))<=a){const t=p.projectPoint(o,e);if(n.containsPoint(t))return!0}return!1}}();function _o(t){return Math.abs(t)<1e-15}class Mo extends Ts{constructor(...t){super(...t),this.isExtendedTriangle=!0,this.satAxes=new Array(4).fill().map((()=>new $t)),this.satBounds=new Array(4).fill().map((()=>new bo)),this.points=[this.a,this.b,this.c],this.sphere=new fe,this.plane=new Ei,this.needsUpdate=!0}intersectsSphere(t){return xo(t,this)}update(){const t=this.a,e=this.b,s=this.c,i=this.points,r=this.satAxes,n=this.satBounds,a=r[0],o=n[0];this.getNormal(a),o.setFromPoints(a,i);const h=r[1],c=n[1];h.subVectors(t,e),c.setFromPoints(h,i);const l=r[2],p=n[2];l.subVectors(e,s),p.setFromPoints(l,i);const u=r[3],E=n[3];u.subVectors(s,t),E.setFromPoints(u,i),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(a,t),this.needsUpdate=!1}}Mo.prototype.closestPointToSegment=function(){const t=new $t,e=new $t,s=new Ri;return function(i,r=null,n=null){const{start:a,end:o}=i,h=this.points;let c,l=1/0;for(let a=0;a<3;a++){const o=(a+1)%3;s.start.copy(h[a]),s.end.copy(h[o]),go(s,i,t,e),c=t.distanceToSquared(e),c=2){(1===n?s.start:s.end).copy(E),r=2;break}if(r++,2===r&&-1===n)break}}return r}return function(a,l=null,E=!1){this.needsUpdate&&this.update(),a.isExtendedTriangle?a.needsUpdate&&a.update():(t.copy(a),t.update(),a=t);const y=this.plane,T=a.plane;if(Math.abs(y.normal.dot(T.normal))>1-1e-10){const t=this.satBounds,o=this.satAxes;s[0]=a.a,s[1]=a.b,s[2]=a.c;for(let e=0;e<4;e++){const r=t[e],n=o[e];if(i.setFromPoints(n,s),r.isSeparated(i))return!1}const h=a.satBounds,c=a.satAxes;e[0]=this.a,e[1]=this.b,e[2]=this.c;for(let t=0;t<4;t++){const s=h[t],r=c[t];if(i.setFromPoints(r,e),s.isSeparated(i))return!1}for(let t=0;t<4;t++){const a=o[t];for(let t=0;t<4;t++){const o=c[t];if(n.crossVectors(a,o),i.setFromPoints(n,e),r.setFromPoints(n,s),i.isSeparated(r))return!1}}return l&&(E||console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0."),l.start.set(0,0,0),l.end.set(0,0,0)),!0}{const t=I(this,T,p);if(1===t&&a.containsPoint(p.end))return l&&(l.start.copy(p.end),l.end.copy(p.end)),!0;if(2!==t)return!1;const e=I(a,y,u);if(1===e&&this.containsPoint(u.end))return l&&(l.start.copy(u.end),l.end.copy(u.end)),!0;if(2!==e)return!1;if(p.delta(o),u.delta(h),o.dot(h)<0){let t=u.start;u.start=u.end,u.end=t}const s=p.start.dot(o),i=p.end.dot(o),r=u.start.dot(o),n=u.end.dot(o);return(s===n||r===i||i0?l.start.copy(p.start):l.start.copy(u.start),c.subVectors(p.end,u.end),c.dot(o)<0?l.end.copy(p.end):l.end.copy(u.end)),!0)}}}(),Mo.prototype.distanceToPoint=function(){const t=new $t;return function(e){return this.closestPointToPoint(e,t),e.distanceTo(t)}}(),Mo.prototype.distanceToTriangle=function(){const t=new $t,e=new $t,s=["a","b","c"],i=new Ri,r=new Ri;return function(n,a=null,o=null){const h=a||o?i:null;if(this.intersectsTriangle(n,h))return(a||o)&&(a&&h.getCenter(a),o&&h.getCenter(o)),0;let c=1/0;for(let e=0;e<3;e++){let i;const r=s[e],h=n[r];this.closestPointToPoint(h,t),i=h.distanceToSquared(t),inew $t)),this.satAxes=new Array(3).fill().map((()=>new $t)),this.satBounds=new Array(3).fill().map((()=>new bo)),this.alignedSatBounds=new Array(3).fill().map((()=>new bo)),this.needsUpdate=!1,t&&this.min.copy(t),e&&this.max.copy(e),s&&this.matrix.copy(s)}set(t,e,s){this.min.copy(t),this.max.copy(e),this.matrix.copy(s),this.needsUpdate=!0}copy(t){this.min.copy(t.min),this.max.copy(t.max),this.matrix.copy(t.matrix),this.needsUpdate=!0}}Fo.prototype.update=function(){return function(){const t=this.matrix,e=this.min,s=this.max,i=this.points;for(let r=0;r<=1;r++)for(let n=0;n<=1;n++)for(let a=0;a<=1;a++){const o=i[1*r|2*n|4*a];o.x=r?s.x:e.x,o.y=n?s.y:e.y,o.z=a?s.z:e.z,o.applyMatrix4(t)}const r=this.satBounds,n=this.satAxes,a=i[0];for(let t=0;t<3;t++){const e=n[t],s=r[t],o=i[1<new Ri)),s=new Array(12).fill().map((()=>new Ri)),i=new $t,r=new $t;return function(n,a=0,o=null,h=null){if(this.needsUpdate&&this.update(),this.intersectsBox(n))return(o||h)&&(n.getCenter(r),this.closestPointToPoint(r,i),n.closestPointToPoint(i,r),o&&o.copy(i),h&&h.copy(r)),0;const c=a*a,l=n.min,p=n.max,u=this.points;let E=1/0;for(let t=0;t<8;t++){const e=u[t];r.copy(e).clamp(l,p);const s=e.distanceToSquared(r);if(snew Mo))}}const Go=new wo;function Ho(t,e){return 65535===e[t+15]}function Bo(t,e){return e[t+6]}function Vo(t,e){return e[t+14]}function Wo(t){return t+8}function jo(t,e){return e[t+6]}function Yo(t,e){return e[t+7]}const zo=new class{constructor(){this.float32Array=null,this.uint16Array=null,this.uint32Array=null;const t=[];let e=null;this.setBuffer=s=>{e&&t.push(e),e=s,this.float32Array=new Float32Array(s),this.uint16Array=new Uint16Array(s),this.uint32Array=new Uint32Array(s)},this.clearBuffer=()=>{e=null,this.float32Array=null,this.uint16Array=null,this.uint32Array=null,0!==t.length&&this.setBuffer(t.pop())}}};let ko,Xo;const Ko=[],Zo=new Uo((()=>new se));function qo(t,e,s,i,r,n){ko=Zo.getPrimitive(),Xo=Zo.getPrimitive(),Ko.push(ko,Xo),zo.setBuffer(t._roots[e]);const a=Qo(0,t.geometry,s,i,r,n);zo.clearBuffer(),Zo.releasePrimitive(ko),Zo.releasePrimitive(Xo),Ko.pop(),Ko.pop();const o=Ko.length;return o>0&&(Xo=Ko[o-1],ko=Ko[o-2]),a}function Qo(t,e,s,i,r=null,n=0,a=0){const{float32Array:o,uint16Array:h,uint32Array:c}=zo;let l=2*t;if(Ho(l,h)){const e=Bo(t,c),s=Vo(l,h);return uo(t,o,ko),i(e,s,!1,a,n+t,ko)}{let l=function(t){const{uint16Array:e,uint32Array:s}=zo;let i=2*t;for(;!Ho(i,e);)i=2*(t=Wo(t));return Bo(t,s)},p=function(t){const{uint16Array:e,uint32Array:s}=zo;let i=2*t;for(;!Ho(i,e);)i=2*(t=jo(t,s));return Bo(t,s)+Vo(i,e)};const u=Wo(t),E=jo(t,c);let I,y,T,d,N=u,R=E;if(r&&(T=ko,d=Xo,uo(N,o,T),uo(R,o,d),I=r(T),y=r(d),y0&&c.normal.multiplyScalar(-1));const e={a:n,b:a,c:o,normal:new $t,materialIndex:0};Ts.getNormal(th,eh,sh,e.normal),c.face=e,c.faceIndex=n}return c}(s,l,p,u,E,a,o,h,e);return I?(I.faceIndex=i,r&&r.push(I),I):null}function ph(t,e,s,i){const r=t.a,n=t.b,a=t.c;let o=e,h=e+1,c=e+2;s&&(o=s.getX(o),h=s.getX(h),c=s.getX(c)),r.x=i.getX(o),r.y=i.getY(o),r.z=i.getZ(o),n.x=i.getX(h),n.y=i.getY(h),n.z=i.getZ(h),a.x=i.getX(c),a.y=i.getY(c),a.z=i.getZ(c)}function uh(t,e,s,i,r,n,a){const{geometry:o}=s,{index:h}=o,c=o.attributes.position;for(let s=t,o=e+t;sp&&(p=a),ou&&(u=o),hE&&(E=h)}return(h[t+0]!==s||h[t+1]!==n||h[t+2]!==l||h[t+3]!==p||h[t+4]!==u||h[t+5]!==E)&&(h[t+0]=s,h[t+1]=n,h[t+2]=l,h[t+3]=p,h[t+4]=u,h[t+5]=E,!0)}{const i=t+8,r=a[t+6],o=i+s,c=r+s;let l=n,u=!1,E=!1;e?l||(u=e.has(o),E=e.has(c),l=!u&&!E):(u=!0,E=!0);const I=l||E;let y=!1;(l||u)&&(y=p(i,s,l));let T=!1;I&&(T=p(r,s,l));const d=y||T;if(d)for(let e=0;e<3;e++){const s=i+e,n=r+e,a=h[s],o=h[s+3],c=h[n],l=h[n+3];h[t+e]=al?o:l}return d}}}const Ih=new se;function yh(t,e,s,i){return uo(t,e,Ih),s.intersectBox(Ih,i)}function Th(t,e,s,i,r,n,a){const{geometry:o}=s,{index:h}=o,c=o.attributes.position;for(let o=t,l=e+t;o=0;let c,l;h?(c=Wo(t),l=jo(t,a)):(c=jo(t,a),l=Wo(t));const p=yh(c,r,i,fh)?mh(c,e,s,i):null;if(p){const t=p.point[o];if(h?t<=r[l+n]:t>=r[l+n+3])return p}const u=yh(l,r,i,fh)?mh(l,e,s,i):null;return p&&u?p.distance<=u.distance?p:u:p||u||null}}const Ah=new se,Sh=new Mo,Ch=new Mo,vh=new be,Lh=new Fo,bh=new Fo;function Ph(t,e,s,i){zo.setBuffer(t._roots[e]);const r=gh(0,t,s,i);return zo.clearBuffer(),r}function gh(t,e,s,i,r=null){const{float32Array:n,uint16Array:a,uint32Array:o}=zo;let h=2*t;null===r&&(s.boundingBox||s.computeBoundingBox(),Lh.set(s.boundingBox.min,s.boundingBox.max,i),r=Lh);if(!Ho(h,a)){const a=t+8,h=o[t+6];uo(a,n,Ah);if(r.intersectsBox(Ah)&&gh(a,e,s,i,r))return!0;uo(h,n,Ah);return!!(r.intersectsBox(Ah)&&gh(h,e,s,i,r))}{const r=e.geometry,c=r.index,l=r.attributes.position,p=s.index,u=s.attributes.position,E=Bo(t,o),I=Vo(h,a);if(vh.copy(i).invert(),s.boundsTree){uo(t,n,bh),bh.matrix.copy(vh),bh.needsUpdate=!0;return s.boundsTree.shapecast({intersectsBounds:t=>bh.intersectsBox(t),intersectsTriangle:t=>{t.a.applyMatrix4(i),t.b.applyMatrix4(i),t.c.applyMatrix4(i),t.needsUpdate=!0;for(let e=3*E,s=3*(I+E);e_h.distanceToBox(t),intersectsBounds:(t,e,s)=>s{if(e.boundsTree){return e.boundsTree.shapecast({boundsTraverseOrder:t=>Mh.distanceToBox(t),intersectsBounds:(t,e,s)=>s{for(let a=e,o=e+r;au&&(u=a),oE&&(E=o),hI&&(I=h)}}return(h[s+0]!==n||h[s+1]!==c||h[s+2]!==p||h[s+3]!==u||h[s+4]!==E||h[s+5]!==I)&&(h[s+0]=n,h[s+1]=c,h[s+2]=p,h[s+3]=u,h[s+4]=E,h[s+5]=I,!0)}{const t=s+8,i=a[s+6],r=t+n,o=i+n;let l=c,u=!1,E=!1;e?l||(u=e.has(r),E=e.has(o),l=!u&&!E):(u=!0,E=!0);const I=l||E;let y=!1;(l||u)&&(y=p(t,n,l));let T=!1;I&&(T=p(i,n,l));const d=y||T;if(d)for(let e=0;e<3;e++){const r=t+e,n=i+e,a=h[r],o=h[r+3],c=h[n],l=h[n+3];h[s+e]=al?o:l}return d}}}const Vh=new $t;function Wh(t,e,s,i,r){zo.setBuffer(t._roots[e]),jh(0,t,s,i,r),zo.clearBuffer()}function jh(t,e,s,i,r){const{float32Array:n,uint16Array:a,uint32Array:o}=zo,h=2*t;if(Ho(h,a)){!function(t,e,s,i,r,n){const{geometry:a,_indirectBuffer:o}=t;for(let t=i,h=i+r;t=0;let c,l;h?(c=Wo(t),l=jo(t,a)):(c=jo(t,a),l=Wo(t));const p=yh(c,r,i,Yh)?Xh(c,e,s,i):null;if(p){const t=p.point[o];if(h?t<=r[l+n]:t>=r[l+n+3])return p}const u=yh(l,r,i,Yh)?Xh(l,e,s,i):null;return p&&u?p.distance<=u.distance?p:u:p||u||null}}const Kh=new se,Zh=new Mo,qh=new Mo,Qh=new be,Jh=new Fo,$h=new Fo;function tc(t,e,s,i){zo.setBuffer(t._roots[e]);const r=ec(0,t,s,i);return zo.clearBuffer(),r}function ec(t,e,s,i,r=null){const{float32Array:n,uint16Array:a,uint32Array:o}=zo;let h=2*t;null===r&&(s.boundingBox||s.computeBoundingBox(),Jh.set(s.boundingBox.min,s.boundingBox.max,i),r=Jh);if(!Ho(h,a)){const a=t+8,h=o[t+6];uo(a,n,Kh);if(r.intersectsBox(Kh)&&ec(a,e,s,i,r))return!0;uo(h,n,Kh);return!!(r.intersectsBox(Kh)&&ec(h,e,s,i,r))}{const r=e.geometry,c=r.index,l=r.attributes.position,p=s.index,u=s.attributes.position,E=Bo(t,o),I=Vo(h,a);if(Qh.copy(i).invert(),s.boundsTree){uo(t,n,$h),$h.matrix.copy(Qh),$h.needsUpdate=!0;return s.boundsTree.shapecast({intersectsBounds:t=>$h.intersectsBox(t),intersectsTriangle:t=>{t.a.applyMatrix4(i),t.b.applyMatrix4(i),t.c.applyMatrix4(i),t.needsUpdate=!0;for(let s=E,i=I+E;sic.distanceToBox(t),intersectsBounds:(t,e,s)=>s{if(e.boundsTree){const o=e.boundsTree;return o.shapecast({boundsTraverseOrder:t=>rc.distanceToBox(t),intersectsBounds:(t,e,s)=>s{for(let O=e,D=e+a;Onew se)),Ec=new se,Ic=new se,yc=new se,Tc=new se;let dc=!1;function Nc(t,e,s,i,r,n=0,a=0,o=0,h=0,c=null,l=!1){let p,u;l?(p=pc,u=lc):(p=lc,u=pc);const E=p.float32Array,I=p.uint32Array,y=p.uint16Array,T=u.float32Array,d=u.uint32Array,N=u.uint16Array,R=2*e,f=Ho(2*t,y),O=Ho(R,N);let D=!1;if(O&&f)D=l?r(Bo(e,d),Vo(2*e,N),Bo(t,I),Vo(2*t,y),h,a+e,o,n+t):r(Bo(t,I),Vo(2*t,y),Bo(e,d),Vo(2*e,N),o,n+t,h,a+e);else if(O){const c=uc.getPrimitive();uo(e,T,c),c.applyMatrix4(s);const p=Wo(t),u=jo(t,I);uo(p,E,Ec),uo(u,E,Ic);const y=c.intersectsBox(Ec),d=c.intersectsBox(Ic);D=y&&Nc(e,p,i,s,r,a,n,h,o+1,c,!l)||d&&Nc(e,u,i,s,r,a,n,h,o+1,c,!l),uc.releasePrimitive(c)}else{const p=Wo(e),u=jo(e,d);uo(p,T,yc),uo(u,T,Tc);const y=c.intersectsBox(yc),N=c.intersectsBox(Tc);if(y&&N)D=Nc(t,p,s,i,r,n,a,o,h+1,c,l)||Nc(t,u,s,i,r,n,a,o,h+1,c,l);else if(y)if(f)D=Nc(t,p,s,i,r,n,a,o,h+1,c,l);else{const e=uc.getPrimitive();e.copy(yc).applyMatrix4(s);const c=Wo(t),u=jo(t,I);uo(c,E,Ec),uo(u,E,Ic);const y=e.intersectsBox(Ec),T=e.intersectsBox(Ic);D=y&&Nc(p,c,i,s,r,a,n,h,o+1,e,!l)||T&&Nc(p,u,i,s,r,a,n,h,o+1,e,!l),uc.releasePrimitive(e)}else if(N)if(f)D=Nc(t,u,s,i,r,n,a,o,h+1,c,l);else{const e=uc.getPrimitive();e.copy(Tc).applyMatrix4(s);const c=Wo(t),p=jo(t,I);uo(c,E,Ec),uo(p,E,Ic);const y=e.intersectsBox(Ec),T=e.intersectsBox(Ic);D=y&&Nc(u,c,i,s,r,a,n,h,o+1,e,!l)||T&&Nc(u,p,i,s,r,a,n,h,o+1,e,!l),uc.releasePrimitive(e)}}return D}const Rc=new Fo,fc=new se;class Oc{static serialize(t,e={}){e={cloneBuffers:!0,...e};const s=t.geometry,i=t._roots,r=t._indirectBuffer,n=s.getIndex();let a;return a=e.cloneBuffers?{roots:i.map((t=>t.slice())),index:n.array.slice(),indirectBuffer:r?r.slice():null}:{roots:i,index:n.array,indirectBuffer:r},a}static deserialize(t,e,s={}){s={setIndex:!0,indirect:Boolean(t.indirectBuffer),...s};const{index:i,roots:r,indirectBuffer:n}=t,a=new Oc(e,{...s,[oo]:!0});if(a._roots=r,a._indirectBuffer=n||null,s.setIndex){const s=e.getIndex();if(null===s){const s=new bs(t.index,1,!1);e.setIndex(s)}else s.array!==i&&(s.array.set(i),s.needsUpdate=!0)}return a}get indirect(){return!!this._indirectBuffer}constructor(t,e={}){if(!t.isBufferGeometry)throw new Error("MeshBVH: Only BufferGeometries are supported.");if(t.index&&t.index.isInterleavedBufferAttribute)throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.");if((e=Object.assign({strategy:0,maxDepth:40,maxLeafTris:10,verbose:!0,useSharedArrayBuffer:!1,setBoundingBox:!0,onProgress:null,indirect:!1,[oo]:!1},e)).useSharedArrayBuffer&&"undefined"==typeof SharedArrayBuffer)throw new Error("MeshBVH: SharedArrayBuffer is not available.");this.geometry=t,this._roots=null,this._indirectBuffer=null,e[oo]||(Lo(this,e),!t.boundingBox&&e.setBoundingBox&&(t.boundingBox=this.getBoundingBox(new se)));const{_indirectBuffer:s}=this;this.resolveTriangleIndex=e.indirect?t=>s[t]:t=>t}refit(t=null){return(this.indirect?Bh:Eh)(this,t)}traverse(t,e=0){const s=this._roots[e],i=new Uint32Array(s),r=new Uint16Array(s);!function e(n,a=0){const o=2*n,h=r[o+15]===no;if(h){const e=i[n+6],c=r[o+14];t(a,h,new Float32Array(s,4*n,6),e,c)}else{const r=n+8,o=i[n+6],c=i[n+7];t(a,h,new Float32Array(s,4*n,6),c)||(e(r,a+1),e(o,a+1))}}(0)}raycast(t,e=0){const s=this._roots,i=this.geometry,r=[],n=e.isMaterial,a=Array.isArray(e),o=i.groups,h=n?e.side:e,c=this.indirect?Wh:Nh;for(let i=0,n=s.length;i!!t(i,r,n,o,h)||s(i,r,this,a,n,o,e)}else n||(n=a?(t,i,r,n)=>s(t,i,this,a,r,n,e):(t,e,s)=>s);let o=!1,h=0;const c=this._roots;for(let t=0,e=c.length;t{const e=this.resolveTriangleIndex(t);ph(n,3*e,a,o)}:t=>{ph(n,3*t,a,o)},c=Go.getPrimitive(),l=t.geometry.index,p=t.geometry.attributes.position,u=t.indirect?e=>{const s=t.resolveTriangleIndex(e);ph(c,3*s,l,p)}:t=>{ph(c,3*t,l,p)};if(r){const t=(t,s,i,a,o,l,p,E)=>{for(let I=i,y=i+a;IRc.intersectsBox(t),intersectsTriangle:t=>Rc.intersectsTriangle(t)})}intersectsSphere(t){return this.shapecast({intersectsBounds:e=>t.intersectsBox(e),intersectsTriangle:e=>e.intersectsSphere(t)})}closestPointToGeometry(t,e,s={},i={},r=0,n=1/0){return(this.indirect?cc:Hh)(this,t,e,s,i,r,n)}closestPointToPoint(t,e={},s=0,i=1/0){return function(t,e,s={},i=0,r=1/0){const n=i*i,a=r*r;let o=1/0,h=null;if(t.shapecast({boundsTraverseOrder:t=>(Jo.copy(e).clamp(t.min,t.max),Jo.distanceToSquared(e)),intersectsBounds:(t,e,s)=>s{t.closestPointToPoint(e,Jo);const i=e.distanceToSquared(Jo);return i{uo(0,new Float32Array(e),fc),t.union(fc)})),t}}function Dc(t,e,s){return null===t?null:(t.point.applyMatrix4(e.matrixWorld),t.distance=t.point.distanceTo(s.ray.origin),t.object=e,t.distances.far?null:t)}const mc=new Le,Ac=new be,Sc=Js.prototype.raycast;function Cc(t,e){if(this.geometry.boundsTree){if(void 0===this.material)return;Ac.copy(this.matrixWorld).invert(),mc.copy(t.ray).applyMatrix4(Ac);const s=this.geometry.boundsTree;if(!0===t.firstHitOnly){const i=Dc(s.raycastFirst(mc,this.material),this,t);i&&e.push(i)}else{const i=s.raycast(mc,this.material);for(let s=0,r=i.length;s=0}return s}static collides(t,e,s){for(const i of e){if(this.getPointDistance(i,s,t)<0)return!1}return!0}static getPointDistance(t,e,s){const i=t.normal;for(const t of this.dimensions){const r=i[t]>=0!==e;this.tempPoint[t]=r?s.max[t]:s.min[t]}return t.distanceToPoint(this.tempPoint)}}at(bc,"tempPoint",new $t),at(bc,"dimensions",["x","y","z"]);class Pc{static transform(t,e,s=new Ti){for(let i=0;i80*s){o=1/0,h=1/0;let e=-1/0,i=-1/0;for(let n=s;ne&&(e=s),r>i&&(i=r)}c=Math.max(e-o,i-h),c=0!==c?32767/c:0}return Mc(n,a,s,o,h,c,0),a}function xc(t,e,s,i,r){let n;if(r===function(t,e,s,i){let r=0;for(let n=e,a=s-i;n0)for(let r=e;r=e;r-=i)n=tl(r/i|0,t[r],t[r+1],n);return n&&Kc(n,n.next)&&(el(n),n=n.next),n}function _c(t,e){if(!t)return t;e||(e=t);let s,i=t;do{if(s=!1,i.steiner||!Kc(i,i.next)&&0!==Xc(i.prev,i,i.next))i=i.next;else{if(el(i),i=e=i.prev,i===i.next)break;s=!0}}while(s||i!==e);return e}function Mc(t,e,s,i,r,n,a){if(!t)return;!a&&n&&function(t,e,s,i){let r=t;do{0===r.z&&(r.z=Wc(r.x,r.y,e,s,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,s=1;do{let i,r=t;t=null;let n=null;for(e=0;r;){e++;let a=r,o=0;for(let t=0;t0||h>0&&a;)0!==o&&(0===h||!a||r.z<=a.z)?(i=r,r=r.nextZ,o--):(i=a,a=a.nextZ,h--),n?n.nextZ=i:t=i,i.prevZ=n,n=i;r=a}n.nextZ=null,s*=2}while(e>1)}(r)}(t,i,r,n);let o=t;for(;t.prev!==t.next;){const h=t.prev,c=t.next;if(n?Uc(t,i,r,n):Fc(t))e.push(h.i,t.i,c.i),el(t),t=c.next,o=c.next;else if((t=c)===o){a?1===a?Mc(t=wc(_c(t),e),e,s,i,r,n,2):2===a&&Gc(t,e,s,i,r,n):Mc(_c(t),e,s,i,r,n,1);break}}}function Fc(t){const e=t.prev,s=t,i=t.next;if(Xc(e,s,i)>=0)return!1;const r=e.x,n=s.x,a=i.x,o=e.y,h=s.y,c=i.y,l=Math.min(r,n,a),p=Math.min(o,h,c),u=Math.max(r,n,a),E=Math.max(o,h,c);let I=i.next;for(;I!==e;){if(I.x>=l&&I.x<=u&&I.y>=p&&I.y<=E&&zc(r,o,n,h,a,c,I.x,I.y)&&Xc(I.prev,I,I.next)>=0)return!1;I=I.next}return!0}function Uc(t,e,s,i){const r=t.prev,n=t,a=t.next;if(Xc(r,n,a)>=0)return!1;const o=r.x,h=n.x,c=a.x,l=r.y,p=n.y,u=a.y,E=Math.min(o,h,c),I=Math.min(l,p,u),y=Math.max(o,h,c),T=Math.max(l,p,u),d=Wc(E,I,e,s,i),N=Wc(y,T,e,s,i);let R=t.prevZ,f=t.nextZ;for(;R&&R.z>=d&&f&&f.z<=N;){if(R.x>=E&&R.x<=y&&R.y>=I&&R.y<=T&&R!==r&&R!==a&&zc(o,l,h,p,c,u,R.x,R.y)&&Xc(R.prev,R,R.next)>=0)return!1;if(R=R.prevZ,f.x>=E&&f.x<=y&&f.y>=I&&f.y<=T&&f!==r&&f!==a&&zc(o,l,h,p,c,u,f.x,f.y)&&Xc(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;R&&R.z>=d;){if(R.x>=E&&R.x<=y&&R.y>=I&&R.y<=T&&R!==r&&R!==a&&zc(o,l,h,p,c,u,R.x,R.y)&&Xc(R.prev,R,R.next)>=0)return!1;R=R.prevZ}for(;f&&f.z<=N;){if(f.x>=E&&f.x<=y&&f.y>=I&&f.y<=T&&f!==r&&f!==a&&zc(o,l,h,p,c,u,f.x,f.y)&&Xc(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function wc(t,e){let s=t;do{const i=s.prev,r=s.next.next;!Kc(i,r)&&Zc(i,s,s.next,r)&&Jc(i,r)&&Jc(r,i)&&(e.push(i.i,s.i,r.i),el(s),el(s.next),s=t=r),s=s.next}while(s!==t);return _c(s)}function Gc(t,e,s,i,r,n){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&kc(a,t)){let o=$c(a,t);return a=_c(a,a.next),o=_c(o,o.next),Mc(a,e,s,i,r,n,0),void Mc(o,e,s,i,r,n,0)}t=t.next}a=a.next}while(a!==t)}function Hc(t,e){let s=t.x-e.x;if(0===s&&(s=t.y-e.y,0===s)){s=(t.next.y-t.y)/(t.next.x-t.x)-(e.next.y-e.y)/(e.next.x-e.x)}return s}function Bc(t,e){const s=function(t,e){let s=e;const i=t.x,r=t.y;let n,a=-1/0;if(Kc(t,s))return s;do{if(Kc(t,s.next))return s.next;if(r<=s.y&&r>=s.next.y&&s.next.y!==s.y){const t=s.x+(r-s.y)*(s.next.x-s.x)/(s.next.y-s.y);if(t<=i&&t>a&&(a=t,n=s.x=s.x&&s.x>=h&&i!==s.x&&Yc(rn.x||s.x===n.x&&Vc(n,s)))&&(n=s,l=e)}s=s.next}while(s!==o);return n}(t,e);if(!s)return e;const i=$c(s,t);return _c(i,i.next),_c(s,s.next)}function Vc(t,e){return Xc(t.prev,t,e.prev)<0&&Xc(e.next,t,t.next)<0}function Wc(t,e,s,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-s)*r|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-i)*r|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function jc(t){let e=t,s=t;do{(e.x=(t-a)*(n-o)&&(t-a)*(i-o)>=(s-a)*(e-o)&&(s-a)*(n-o)>=(r-a)*(i-o)}function zc(t,e,s,i,r,n,a,o){return!(t===a&&e===o)&&Yc(t,e,s,i,r,n,a,o)}function kc(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&Zc(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1}(t,e)&&(Jc(t,e)&&Jc(e,t)&&function(t,e){let s=t,i=!1;const r=(t.x+e.x)/2,n=(t.y+e.y)/2;do{s.y>n!=s.next.y>n&&s.next.y!==s.y&&r<(s.next.x-s.x)*(n-s.y)/(s.next.y-s.y)+s.x&&(i=!i),s=s.next}while(s!==t);return i}(t,e)&&(Xc(t.prev,t,e.prev)||Xc(t,e.prev,e))||Kc(t,e)&&Xc(t.prev,t,t.next)>0&&Xc(e.prev,e,e.next)>0)}function Xc(t,e,s){return(e.y-t.y)*(s.x-e.x)-(e.x-t.x)*(s.y-e.y)}function Kc(t,e){return t.x===e.x&&t.y===e.y}function Zc(t,e,s,i){const r=Qc(Xc(t,e,s)),n=Qc(Xc(t,e,i)),a=Qc(Xc(s,i,t)),o=Qc(Xc(s,i,e));return r!==n&&a!==o||(!(0!==r||!qc(t,s,e))||(!(0!==n||!qc(t,i,e))||(!(0!==a||!qc(s,t,i))||!(0!==o||!qc(s,e,i)))))}function qc(t,e,s){return e.x<=Math.max(t.x,s.x)&&e.x>=Math.min(t.x,s.x)&&e.y<=Math.max(t.y,s.y)&&e.y>=Math.min(t.y,s.y)}function Qc(t){return t>0?1:t<0?-1:0}function Jc(t,e){return Xc(t.prev,t,t.next)<0?Xc(t,e,t.next)>=0&&Xc(t,t.prev,e)>=0:Xc(t,e,t.prev)<0||Xc(t,t.next,e)<0}function $c(t,e){const s=sl(t.i,t.x,t.y),i=sl(e.i,e.x,e.y),r=t.next,n=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,i.next=s,s.prev=i,n.next=i,i.prev=n,i}function tl(t,e,s,i){const r=sl(t,e,s);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function el(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function sl(t,e,s){return{i:t,x:e,y:s,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}class il{constructor(){at(this,"_inverseMatrix",new be),at(this,"_localPlane",new Ei),at(this,"_tempLine",new Ri),at(this,"_tempVector",new $t),at(this,"_plane"),at(this,"_plane2DCoordinateSystem",new be),at(this,"_precission",1e4)}get plane(){if(!this._plane)throw new Error("Fragments: Plane not set");return this._plane}set plane(t){this._plane=t}createEdges(t){const{meshes:e,posAttr:s}=t;let i=0;s.array.fill(0);const r=[];let n=0;const a=new Js;for(const t of e)if(t.geometry){if(t.geometry.boundsTree||t.geometry.computeBoundsTree(),!t.geometry.boundsTree)throw new Error("Fragments: Bounds tree not found for edges generation.");if(t instanceof ci){if(0===t.count)continue;const e=t;for(let o=0;o.99)s=new $t(1,0,0),i=new $t(0,1,0);else if(Math.abs(t.x)>.99)s=new $t(0,1,0),i=new $t(0,0,1);else if(Math.abs(t.y)>.99)s=new $t(1,0,0),i=new $t(0,0,1);else{const e=Math.abs(t.x)<.5?new $t(1,0,0):new $t(0,1,0);s=new $t,s.crossVectors(e,t).normalize(),i=new $t,i.crossVectors(t,s).normalize()}this._plane2DCoordinateSystem.fromArray([s.x,s.y,s.z,0,i.x,i.y,i.z,0,t.x,t.y,t.z,0,e.x,e.y,e.z,1]),this._plane2DCoordinateSystem.invert()}shapecast(t,e,s){return t.geometry.boundsTree.shapecast({intersectsBounds:t=>this._localPlane.intersectsBox(t),intersectsTriangle:i=>{let r=0;if(this._tempLine.start.copy(i.a),this._tempLine.end.copy(i.b),this._localPlane.intersectLine(this._tempLine,this._tempVector)){const i=this._tempVector.applyMatrix4(t.matrixWorld);e.setXYZ(s,i.x,i.y,i.z),r++,s++}if(this._tempLine.start.copy(i.b),this._tempLine.end.copy(i.c),this._localPlane.intersectLine(this._tempLine,this._tempVector)){const i=this._tempVector.applyMatrix4(t.matrixWorld);e.setXYZ(s,i.x,i.y,i.z),r++,s++}if(this._tempLine.start.copy(i.c),this._tempLine.end.copy(i.a),this._localPlane.intersectLine(this._tempLine,this._tempVector)){const i=this._tempVector.applyMatrix4(t.matrixWorld);e.setXYZ(s,i.x,i.y,i.z),r++,s++}2!==r&&(s-=r)}}),s}}class rl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsAttribute(t,e){return(e||new rl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAttribute(t,e){return t.setPosition(t.position()+4),(e||new rl).__init(t.readInt32(t.position())+t.position(),t)}data(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}dataLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAttribute(t){t.startObject(1)}static addData(t,e){t.addFieldOffset(0,e,0)}static createDataVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startDataVector(t,e){t.startVector(4,e,4)}static endAttribute(t){const e=t.endObject();return t.requiredField(e,4),e}static createAttribute(t,e){return rl.startAttribute(t),rl.addData(t,e),rl.endAttribute(t)}}class nl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}x(){return this.bb.readFloat32(this.bb_pos)}mutate_x(t){return this.bb.writeFloat32(this.bb_pos+0,t),!0}y(){return this.bb.readFloat32(this.bb_pos+4)}mutate_y(t){return this.bb.writeFloat32(this.bb_pos+4,t),!0}z(){return this.bb.readFloat32(this.bb_pos+8)}mutate_z(t){return this.bb.writeFloat32(this.bb_pos+8,t),!0}static sizeOf(){return 12}static createFloatVector(t,e,s,i){return t.prep(4,12),t.writeFloat32(i),t.writeFloat32(s),t.writeFloat32(e),t.offset()}}class al{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}aperture(){return this.bb.readFloat32(this.bb_pos)}mutate_aperture(t){return this.bb.writeFloat32(this.bb_pos+0,t),!0}position(t){return(t||new nl).__init(this.bb_pos+4,this.bb)}radius(){return this.bb.readFloat32(this.bb_pos+16)}mutate_radius(t){return this.bb.writeFloat32(this.bb_pos+16,t),!0}xDirection(t){return(t||new nl).__init(this.bb_pos+20,this.bb)}yDirection(t){return(t||new nl).__init(this.bb_pos+32,this.bb)}static sizeOf(){return 44}static createCircleCurve(t,e,s,i,r,n,a,o,h,c,l,p){return t.prep(4,44),t.prep(4,12),t.writeFloat32(p),t.writeFloat32(l),t.writeFloat32(c),t.prep(4,12),t.writeFloat32(h),t.writeFloat32(o),t.writeFloat32(a),t.writeFloat32(n),t.prep(4,12),t.writeFloat32(r),t.writeFloat32(i),t.writeFloat32(s),t.writeFloat32(e),t.offset()}}class ol{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}p1(t){return(t||new nl).__init(this.bb_pos,this.bb)}p2(t){return(t||new nl).__init(this.bb_pos+12,this.bb)}static sizeOf(){return 24}static createWire(t,e,s,i,r,n,a){return t.prep(4,24),t.prep(4,12),t.writeFloat32(a),t.writeFloat32(n),t.writeFloat32(r),t.prep(4,12),t.writeFloat32(i),t.writeFloat32(s),t.writeFloat32(e),t.offset()}}class hl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsWireSet(t,e){return(e||new hl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWireSet(t,e){return t.setPosition(t.position()+4),(e||new hl).__init(t.readInt32(t.position())+t.position(),t)}ps(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?(e||new nl).__init(this.bb.__vector(this.bb_pos+s)+12*t,this.bb):null}psLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startWireSet(t){t.startObject(1)}static addPs(t,e){t.addFieldOffset(0,e,0)}static startPsVector(t,e){t.startVector(12,e,4)}static endWireSet(t){return t.endObject()}static createWireSet(t,e){return hl.startWireSet(t),hl.addPs(t,e),hl.endWireSet(t)}}class cl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsAxis(t,e){return(e||new cl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAxis(t,e){return t.setPosition(t.position()+4),(e||new cl).__init(t.readInt32(t.position())+t.position(),t)}wires(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?(e||new ol).__init(this.bb.__vector(this.bb_pos+s)+24*t,this.bb):null}wiresLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}order(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}orderLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}orderArray(){const t=this.bb.__offset(this.bb_pos,6);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}parts(t){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readInt8(this.bb.__vector(this.bb_pos+e)+t):0}partsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}partsArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Int8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}wireSets(t,e){const s=this.bb.__offset(this.bb_pos,10);return s?(e||new hl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}wireSetsLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}circleCurves(t,e){const s=this.bb.__offset(this.bb_pos,12);return s?(e||new al).__init(this.bb.__vector(this.bb_pos+s)+44*t,this.bb):null}circleCurvesLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAxis(t){t.startObject(5)}static addWires(t,e){t.addFieldOffset(0,e,0)}static startWiresVector(t,e){t.startVector(24,e,4)}static addOrder(t,e){t.addFieldOffset(1,e,0)}static createOrderVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startOrderVector(t,e){t.startVector(4,e,4)}static addParts(t,e){t.addFieldOffset(2,e,0)}static createPartsVector(t,e){t.startVector(1,e.length,1);for(let s=e.length-1;s>=0;s--)t.addInt8(e[s]);return t.endVector()}static startPartsVector(t,e){t.startVector(1,e,1)}static addWireSets(t,e){t.addFieldOffset(3,e,0)}static createWireSetsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startWireSetsVector(t,e){t.startVector(4,e,4)}static addCircleCurves(t,e){t.addFieldOffset(4,e,0)}static startCircleCurvesVector(t,e){t.startVector(44,e,4)}static endAxis(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),t.requiredField(e,8),t.requiredField(e,10),t.requiredField(e,12),e}static createAxis(t,e,s,i,r,n){return cl.startAxis(t),cl.addWires(t,e),cl.addOrder(t,s),cl.addParts(t,i),cl.addWireSets(t,r),cl.addCircleCurves(t,n),cl.endAxis(t)}}var ll=(t=>(t[t.NONE=0]="NONE",t[t.WIRE=1]="WIRE",t[t.WIRE_SET=2]="WIRE_SET",t[t.CIRCLE_CURVE=3]="CIRCLE_CURVE",t))(ll||{});class pl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBigShellHole(t,e){return(e||new pl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBigShellHole(t,e){return t.setPosition(t.position()+4),(e||new pl).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}profileId(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint16(this.bb_pos+t):0}mutate_profile_id(t){const e=this.bb.__offset(this.bb_pos,6);return 0!==e&&(this.bb.writeUint16(this.bb_pos+e,t),!0)}static startBigShellHole(t){t.startObject(2)}static addIndices(t,e){t.addFieldOffset(0,e,0)}static createIndicesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startIndicesVector(t,e){t.startVector(4,e,4)}static addProfileId(t,e){t.addFieldInt16(1,e,0)}static endBigShellHole(t){const e=t.endObject();return t.requiredField(e,4),e}static createBigShellHole(t,e,s){return pl.startBigShellHole(t),pl.addIndices(t,e),pl.addProfileId(t,s),pl.endBigShellHole(t)}}class ul{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBigShellProfile(t,e){return(e||new ul).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBigShellProfile(t,e){return t.setPosition(t.position()+4),(e||new ul).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startBigShellProfile(t){t.startObject(1)}static addIndices(t,e){t.addFieldOffset(0,e,0)}static createIndicesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startIndicesVector(t,e){t.startVector(4,e,4)}static endBigShellProfile(t){const e=t.endObject();return t.requiredField(e,4),e}static createBigShellProfile(t,e){return ul.startBigShellProfile(t),ul.addIndices(t,e),ul.endBigShellProfile(t)}}class El{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}min(t){return(t||new nl).__init(this.bb_pos,this.bb)}max(t){return(t||new nl).__init(this.bb_pos+12,this.bb)}static sizeOf(){return 24}static createBoundingBox(t,e,s,i,r,n,a){return t.prep(4,24),t.prep(4,12),t.writeFloat32(a),t.writeFloat32(n),t.writeFloat32(r),t.prep(4,12),t.writeFloat32(i),t.writeFloat32(s),t.writeFloat32(e),t.offset()}}class Il{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsCircleExtrusion(t,e){return(e||new Il).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCircleExtrusion(t,e){return t.setPosition(t.position()+4),(e||new Il).__init(t.readInt32(t.position())+t.position(),t)}radius(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}radiusLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}radiusArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}axes(t,e){const s=this.bb.__offset(this.bb_pos,6);return s?(e||new cl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}axesLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startCircleExtrusion(t){t.startObject(2)}static addRadius(t,e){t.addFieldOffset(0,e,0)}static createRadiusVector(t,e){t.startVector(8,e.length,8);for(let s=e.length-1;s>=0;s--)t.addFloat64(e[s]);return t.endVector()}static startRadiusVector(t,e){t.startVector(8,e,8)}static addAxes(t,e){t.addFieldOffset(1,e,0)}static createAxesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startAxesVector(t,e){t.startVector(4,e,4)}static endCircleExtrusion(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),e}static createCircleExtrusion(t,e,s){return Il.startCircleExtrusion(t),Il.addRadius(t,e),Il.addAxes(t,s),Il.endCircleExtrusion(t)}}class yl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}x(){return this.bb.readFloat64(this.bb_pos)}mutate_x(t){return this.bb.writeFloat64(this.bb_pos+0,t),!0}y(){return this.bb.readFloat64(this.bb_pos+8)}mutate_y(t){return this.bb.writeFloat64(this.bb_pos+8,t),!0}z(){return this.bb.readFloat64(this.bb_pos+16)}mutate_z(t){return this.bb.writeFloat64(this.bb_pos+16,t),!0}static sizeOf(){return 24}static createDoubleVector(t,e,s,i){return t.prep(8,24),t.writeFloat64(i),t.writeFloat64(s),t.writeFloat64(e),t.offset()}}class Tl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}r(){return this.bb.readUint8(this.bb_pos)}mutate_r(t){return this.bb.writeUint8(this.bb_pos+0,t),!0}g(){return this.bb.readUint8(this.bb_pos+1)}mutate_g(t){return this.bb.writeUint8(this.bb_pos+1,t),!0}b(){return this.bb.readUint8(this.bb_pos+2)}mutate_b(t){return this.bb.writeUint8(this.bb_pos+2,t),!0}a(){return this.bb.readUint8(this.bb_pos+3)}mutate_a(t){return this.bb.writeUint8(this.bb_pos+3,t),!0}renderedFaces(){return this.bb.readInt8(this.bb_pos+4)}mutate_rendered_faces(t){return this.bb.writeInt8(this.bb_pos+4,t),!0}stroke(){return this.bb.readInt8(this.bb_pos+5)}mutate_stroke(t){return this.bb.writeInt8(this.bb_pos+5,t),!0}static sizeOf(){return 6}static createMaterial(t,e,s,i,r,n,a){return t.prep(1,6),t.writeInt8(a),t.writeInt8(n),t.writeInt8(r),t.writeInt8(i),t.writeInt8(s),t.writeInt8(e),t.offset()}}class dl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}id(){return this.bb.readUint32(this.bb_pos)}mutate_id(t){return this.bb.writeUint32(this.bb_pos+0,t),!0}bbox(t){return(t||new El).__init(this.bb_pos+4,this.bb)}representationClass(){return this.bb.readInt8(this.bb_pos+28)}mutate_representation_class(t){return this.bb.writeInt8(this.bb_pos+28,t),!0}static sizeOf(){return 32}static createRepresentation(t,e,s,i,r,n,a,o,h){return t.prep(4,32),t.pad(3),t.writeInt8(h),t.prep(4,24),t.prep(4,12),t.writeFloat32(o),t.writeFloat32(a),t.writeFloat32(n),t.prep(4,12),t.writeFloat32(r),t.writeFloat32(i),t.writeFloat32(s),t.writeInt32(e),t.offset()}}class Nl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}item(){return this.bb.readUint32(this.bb_pos)}mutate_item(t){return this.bb.writeUint32(this.bb_pos+0,t),!0}material(){return this.bb.readUint32(this.bb_pos+4)}mutate_material(t){return this.bb.writeUint32(this.bb_pos+4,t),!0}representation(){return this.bb.readUint32(this.bb_pos+8)}mutate_representation(t){return this.bb.writeUint32(this.bb_pos+8,t),!0}localTransform(){return this.bb.readUint32(this.bb_pos+12)}mutate_local_transform(t){return this.bb.writeUint32(this.bb_pos+12,t),!0}static sizeOf(){return 16}static createSample(t,e,s,i,r){return t.prep(4,16),t.writeInt32(r),t.writeInt32(i),t.writeInt32(s),t.writeInt32(e),t.offset()}}class Rl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsShellHole(t,e){return(e||new Rl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsShellHole(t,e){return t.setPosition(t.position()+4),(e||new Rl).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint16(this.bb.__vector(this.bb_pos+e)+2*t):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}profileId(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint16(this.bb_pos+t):0}mutate_profile_id(t){const e=this.bb.__offset(this.bb_pos,6);return 0!==e&&(this.bb.writeUint16(this.bb_pos+e,t),!0)}static startShellHole(t){t.startObject(2)}static addIndices(t,e){t.addFieldOffset(0,e,0)}static createIndicesVector(t,e){t.startVector(2,e.length,2);for(let s=e.length-1;s>=0;s--)t.addInt16(e[s]);return t.endVector()}static startIndicesVector(t,e){t.startVector(2,e,2)}static addProfileId(t,e){t.addFieldInt16(1,e,0)}static endShellHole(t){const e=t.endObject();return t.requiredField(e,4),e}static createShellHole(t,e,s){return Rl.startShellHole(t),Rl.addIndices(t,e),Rl.addProfileId(t,s),Rl.endShellHole(t)}}class fl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsShellProfile(t,e){return(e||new fl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsShellProfile(t,e){return t.setPosition(t.position()+4),(e||new fl).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint16(this.bb.__vector(this.bb_pos+e)+2*t):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startShellProfile(t){t.startObject(1)}static addIndices(t,e){t.addFieldOffset(0,e,0)}static createIndicesVector(t,e){t.startVector(2,e.length,2);for(let s=e.length-1;s>=0;s--)t.addInt16(e[s]);return t.endVector()}static startIndicesVector(t,e){t.startVector(2,e,2)}static endShellProfile(t){const e=t.endObject();return t.requiredField(e,4),e}static createShellProfile(t,e){return fl.startShellProfile(t),fl.addIndices(t,e),fl.endShellProfile(t)}}var Ol=(t=>(t[t.NONE=0]="NONE",t[t.BIG=1]="BIG",t))(Ol||{});class Dl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsShell(t,e){return(e||new Dl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsShell(t,e){return t.setPosition(t.position()+4),(e||new Dl).__init(t.readInt32(t.position())+t.position(),t)}profiles(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?(e||new fl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}profilesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}holes(t,e){const s=this.bb.__offset(this.bb_pos,6);return s?(e||new Rl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}holesLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}points(t,e){const s=this.bb.__offset(this.bb_pos,8);return s?(e||new nl).__init(this.bb.__vector(this.bb_pos+s)+12*t,this.bb):null}pointsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}bigProfiles(t,e){const s=this.bb.__offset(this.bb_pos,10);return s?(e||new ul).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}bigProfilesLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}bigHoles(t,e){const s=this.bb.__offset(this.bb_pos,12);return s?(e||new pl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}bigHolesLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt8(this.bb_pos+t):Ol.NONE}mutate_type(t){const e=this.bb.__offset(this.bb_pos,14);return 0!==e&&(this.bb.writeInt8(this.bb_pos+e,t),!0)}profilesFaceIds(t){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.readUint16(this.bb.__vector(this.bb_pos+e)+2*t):0}profilesFaceIdsLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}profilesFaceIdsArray(){const t=this.bb.__offset(this.bb_pos,16);return t?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startShell(t){t.startObject(7)}static addProfiles(t,e){t.addFieldOffset(0,e,0)}static createProfilesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startProfilesVector(t,e){t.startVector(4,e,4)}static addHoles(t,e){t.addFieldOffset(1,e,0)}static createHolesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startHolesVector(t,e){t.startVector(4,e,4)}static addPoints(t,e){t.addFieldOffset(2,e,0)}static startPointsVector(t,e){t.startVector(12,e,4)}static addBigProfiles(t,e){t.addFieldOffset(3,e,0)}static createBigProfilesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startBigProfilesVector(t,e){t.startVector(4,e,4)}static addBigHoles(t,e){t.addFieldOffset(4,e,0)}static createBigHolesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startBigHolesVector(t,e){t.startVector(4,e,4)}static addType(t,e){t.addFieldInt8(5,e,Ol.NONE)}static addProfilesFaceIds(t,e){t.addFieldOffset(6,e,0)}static createProfilesFaceIdsVector(t,e){t.startVector(2,e.length,2);for(let s=e.length-1;s>=0;s--)t.addInt16(e[s]);return t.endVector()}static startProfilesFaceIdsVector(t,e){t.startVector(2,e,2)}static endShell(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),t.requiredField(e,8),t.requiredField(e,10),t.requiredField(e,12),t.requiredField(e,16),e}static createShell(t,e,s,i,r,n,a,o){return Dl.startShell(t),Dl.addProfiles(t,e),Dl.addHoles(t,s),Dl.addPoints(t,i),Dl.addBigProfiles(t,r),Dl.addBigHoles(t,n),Dl.addType(t,a),Dl.addProfilesFaceIds(t,o),Dl.endShell(t)}}class ml{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}position(t){return(t||new yl).__init(this.bb_pos,this.bb)}xDirection(t){return(t||new nl).__init(this.bb_pos+24,this.bb)}yDirection(t){return(t||new nl).__init(this.bb_pos+36,this.bb)}static sizeOf(){return 48}static createTransform(t,e,s,i,r,n,a,o,h,c){return t.prep(8,48),t.prep(4,12),t.writeFloat32(c),t.writeFloat32(h),t.writeFloat32(o),t.prep(4,12),t.writeFloat32(a),t.writeFloat32(n),t.writeFloat32(r),t.prep(8,24),t.writeFloat64(i),t.writeFloat64(s),t.writeFloat64(e),t.offset()}}class Al{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMeshes(t,e){return(e||new Al).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMeshes(t,e){return t.setPosition(t.position()+4),(e||new Al).__init(t.readInt32(t.position())+t.position(),t)}coordinates(t){const e=this.bb.__offset(this.bb_pos,4);return e?(t||new ml).__init(this.bb_pos+e,this.bb):null}meshesItems(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}meshesItemsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}meshesItemsArray(){const t=this.bb.__offset(this.bb_pos,6);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}samples(t,e){const s=this.bb.__offset(this.bb_pos,8);return s?(e||new Nl).__init(this.bb.__vector(this.bb_pos+s)+16*t,this.bb):null}samplesLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}representations(t,e){const s=this.bb.__offset(this.bb_pos,10);return s?(e||new dl).__init(this.bb.__vector(this.bb_pos+s)+32*t,this.bb):null}representationsLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}materials(t,e){const s=this.bb.__offset(this.bb_pos,12);return s?(e||new Tl).__init(this.bb.__vector(this.bb_pos+s)+6*t,this.bb):null}materialsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}circleExtrusions(t,e){const s=this.bb.__offset(this.bb_pos,14);return s?(e||new Il).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}circleExtrusionsLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}shells(t,e){const s=this.bb.__offset(this.bb_pos,16);return s?(e||new Dl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}shellsLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}localTransforms(t,e){const s=this.bb.__offset(this.bb_pos,18);return s?(e||new ml).__init(this.bb.__vector(this.bb_pos+s)+48*t,this.bb):null}localTransformsLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}globalTransforms(t,e){const s=this.bb.__offset(this.bb_pos,20);return s?(e||new ml).__init(this.bb.__vector(this.bb_pos+s)+48*t,this.bb):null}globalTransformsLength(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__vector_len(this.bb_pos+t):0}materialIds(t){const e=this.bb.__offset(this.bb_pos,22);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}materialIdsLength(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__vector_len(this.bb_pos+t):0}materialIdsArray(){const t=this.bb.__offset(this.bb_pos,22);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}representationIds(t){const e=this.bb.__offset(this.bb_pos,24);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}representationIdsLength(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__vector_len(this.bb_pos+t):0}representationIdsArray(){const t=this.bb.__offset(this.bb_pos,24);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}sampleIds(t){const e=this.bb.__offset(this.bb_pos,26);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}sampleIdsLength(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.__vector_len(this.bb_pos+t):0}sampleIdsArray(){const t=this.bb.__offset(this.bb_pos,26);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}localTransformIds(t){const e=this.bb.__offset(this.bb_pos,28);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}localTransformIdsLength(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__vector_len(this.bb_pos+t):0}localTransformIdsArray(){const t=this.bb.__offset(this.bb_pos,28);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}globalTransformIds(t){const e=this.bb.__offset(this.bb_pos,30);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}globalTransformIdsLength(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.__vector_len(this.bb_pos+t):0}globalTransformIdsArray(){const t=this.bb.__offset(this.bb_pos,30);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startMeshes(t){t.startObject(14)}static addCoordinates(t,e){t.addFieldStruct(0,e,0)}static addMeshesItems(t,e){t.addFieldOffset(1,e,0)}static createMeshesItemsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startMeshesItemsVector(t,e){t.startVector(4,e,4)}static addSamples(t,e){t.addFieldOffset(2,e,0)}static startSamplesVector(t,e){t.startVector(16,e,4)}static addRepresentations(t,e){t.addFieldOffset(3,e,0)}static startRepresentationsVector(t,e){t.startVector(32,e,4)}static addMaterials(t,e){t.addFieldOffset(4,e,0)}static startMaterialsVector(t,e){t.startVector(6,e,1)}static addCircleExtrusions(t,e){t.addFieldOffset(5,e,0)}static createCircleExtrusionsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startCircleExtrusionsVector(t,e){t.startVector(4,e,4)}static addShells(t,e){t.addFieldOffset(6,e,0)}static createShellsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startShellsVector(t,e){t.startVector(4,e,4)}static addLocalTransforms(t,e){t.addFieldOffset(7,e,0)}static startLocalTransformsVector(t,e){t.startVector(48,e,8)}static addGlobalTransforms(t,e){t.addFieldOffset(8,e,0)}static startGlobalTransformsVector(t,e){t.startVector(48,e,8)}static addMaterialIds(t,e){t.addFieldOffset(9,e,0)}static createMaterialIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startMaterialIdsVector(t,e){t.startVector(4,e,4)}static addRepresentationIds(t,e){t.addFieldOffset(10,e,0)}static createRepresentationIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startRepresentationIdsVector(t,e){t.startVector(4,e,4)}static addSampleIds(t,e){t.addFieldOffset(11,e,0)}static createSampleIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startSampleIdsVector(t,e){t.startVector(4,e,4)}static addLocalTransformIds(t,e){t.addFieldOffset(12,e,0)}static createLocalTransformIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startLocalTransformIdsVector(t,e){t.startVector(4,e,4)}static addGlobalTransformIds(t,e){t.addFieldOffset(13,e,0)}static createGlobalTransformIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startGlobalTransformIdsVector(t,e){t.startVector(4,e,4)}static endMeshes(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),t.requiredField(e,8),t.requiredField(e,10),t.requiredField(e,12),t.requiredField(e,14),t.requiredField(e,16),t.requiredField(e,18),t.requiredField(e,20),e}static createMeshes(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){return Al.startMeshes(t),Al.addCoordinates(t,e),Al.addMeshesItems(t,s),Al.addSamples(t,i),Al.addRepresentations(t,r),Al.addMaterials(t,n),Al.addCircleExtrusions(t,a),Al.addShells(t,o),Al.addLocalTransforms(t,h),Al.addGlobalTransforms(t,c),Al.addMaterialIds(t,l),Al.addRepresentationIds(t,p),Al.addSampleIds(t,u),Al.addLocalTransformIds(t,E),Al.addGlobalTransformIds(t,I),Al.endMeshes(t)}}class Sl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsRelation(t,e){return(e||new Sl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRelation(t,e){return t.setPosition(t.position()+4),(e||new Sl).__init(t.readInt32(t.position())+t.position(),t)}data(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}dataLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startRelation(t){t.startObject(1)}static addData(t,e){t.addFieldOffset(0,e,0)}static createDataVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startDataVector(t,e){t.startVector(4,e,4)}static endRelation(t){const e=t.endObject();return t.requiredField(e,4),e}static createRelation(t,e){return Sl.startRelation(t),Sl.addData(t,e),Sl.endRelation(t)}}class Cl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSpatialStructure(t,e){return(e||new Cl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSpatialStructure(t,e){return t.setPosition(t.position()+4),(e||new Cl).__init(t.readInt32(t.position())+t.position(),t)}localId(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):null}mutate_local_id(t){const e=this.bb.__offset(this.bb_pos,4);return 0!==e&&(this.bb.writeUint32(this.bb_pos+e,t),!0)}category(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}children(t,e){const s=this.bb.__offset(this.bb_pos,8);return s?(e||new Cl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}childrenLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSpatialStructure(t){t.startObject(3)}static addLocalId(t,e){t.addFieldInt32(0,e,null)}static addCategory(t,e){t.addFieldOffset(1,e,0)}static addChildren(t,e){t.addFieldOffset(2,e,0)}static createChildrenVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startChildrenVector(t,e){t.startVector(4,e,4)}static endSpatialStructure(t){return t.endObject()}static createSpatialStructure(t,e,s,i){return Cl.startSpatialStructure(t),null!==e&&Cl.addLocalId(t,e),Cl.addCategory(t,s),Cl.addChildren(t,i),Cl.endSpatialStructure(t)}}class vl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsModel(t,e){return(e||new vl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsModel(t,e){return t.setPosition(t.position()+4),(e||new vl).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("0001")}metadata(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}guids(t,e){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}guidsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}guidsItems(t){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}guidsItemsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}guidsItemsArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}maxLocalId(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readUint32(this.bb_pos+t):0}mutate_max_local_id(t){const e=this.bb.__offset(this.bb_pos,10);return 0!==e&&(this.bb.writeUint32(this.bb_pos+e,t),!0)}localIds(t){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}localIdsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}localIdsArray(){const t=this.bb.__offset(this.bb_pos,12);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}categories(t,e){const s=this.bb.__offset(this.bb_pos,14);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}categoriesLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}meshes(t){const e=this.bb.__offset(this.bb_pos,16);return e?(t||new Al).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}attributes(t,e){const s=this.bb.__offset(this.bb_pos,18);return s?(e||new rl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}attributesLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}relations(t,e){const s=this.bb.__offset(this.bb_pos,20);return s?(e||new Sl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}relationsLength(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__vector_len(this.bb_pos+t):0}relationsItems(t){const e=this.bb.__offset(this.bb_pos,22);return e?this.bb.readInt32(this.bb.__vector(this.bb_pos+e)+4*t):0}relationsItemsLength(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__vector_len(this.bb_pos+t):0}relationsItemsArray(){const t=this.bb.__offset(this.bb_pos,22);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}guid(t){const e=this.bb.__offset(this.bb_pos,24);return e?this.bb.__string(this.bb_pos+e,t):null}spatialStructure(t){const e=this.bb.__offset(this.bb_pos,26);return e?(t||new Cl).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}uniqueAttributes(t,e){const s=this.bb.__offset(this.bb_pos,28);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}uniqueAttributesLength(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__vector_len(this.bb_pos+t):0}relationNames(t,e){const s=this.bb.__offset(this.bb_pos,30);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}relationNamesLength(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.__vector_len(this.bb_pos+t):0}static startModel(t){t.startObject(14)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addGuids(t,e){t.addFieldOffset(1,e,0)}static createGuidsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startGuidsVector(t,e){t.startVector(4,e,4)}static addGuidsItems(t,e){t.addFieldOffset(2,e,0)}static createGuidsItemsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startGuidsItemsVector(t,e){t.startVector(4,e,4)}static addMaxLocalId(t,e){t.addFieldInt32(3,e,0)}static addLocalIds(t,e){t.addFieldOffset(4,e,0)}static createLocalIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startLocalIdsVector(t,e){t.startVector(4,e,4)}static addCategories(t,e){t.addFieldOffset(5,e,0)}static createCategoriesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startCategoriesVector(t,e){t.startVector(4,e,4)}static addMeshes(t,e){t.addFieldOffset(6,e,0)}static addAttributes(t,e){t.addFieldOffset(7,e,0)}static createAttributesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startAttributesVector(t,e){t.startVector(4,e,4)}static addRelations(t,e){t.addFieldOffset(8,e,0)}static createRelationsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startRelationsVector(t,e){t.startVector(4,e,4)}static addRelationsItems(t,e){t.addFieldOffset(9,e,0)}static createRelationsItemsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startRelationsItemsVector(t,e){t.startVector(4,e,4)}static addGuid(t,e){t.addFieldOffset(10,e,0)}static addSpatialStructure(t,e){t.addFieldOffset(11,e,0)}static addUniqueAttributes(t,e){t.addFieldOffset(12,e,0)}static createUniqueAttributesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startUniqueAttributesVector(t,e){t.startVector(4,e,4)}static addRelationNames(t,e){t.addFieldOffset(13,e,0)}static createRelationNamesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startRelationNamesVector(t,e){t.startVector(4,e,4)}static endModel(t){const e=t.endObject();return t.requiredField(e,6),t.requiredField(e,8),t.requiredField(e,12),t.requiredField(e,14),t.requiredField(e,16),t.requiredField(e,24),e}static finishModelBuffer(t,e){t.finish(e,"0001")}static finishSizePrefixedModelBuffer(t,e){t.finish(e,"0001",!0)}}var Ll=(t=>(t[t.ONE=0]="ONE",t[t.TWO=1]="TWO",t))(Ll||{}),bl=(t=>(t[t.NONE=0]="NONE",t[t.SHELL=1]="SHELL",t[t.CIRCLE_EXTRUSION=2]="CIRCLE_EXTRUSION",t))(bl||{});class Pl{constructor(){at(this,"int"),at(this,"float"),at(this,"buffer"),at(this,"s1",4),at(this,"s2",8);const{intBuffer:t,floatBuffer:e,buffer:s}=this.newBuffers();this.int=t,this.float=e,this.buffer=s}newBuffers(){const t=new Int32Array(1),e=t.buffer;return{intBuffer:t,floatBuffer:new Float32Array(e),buffer:new Uint8Array(e)}}}class gl{static check(t){const e=Number.isInteger(t),s=tthis._min;return e&&s&&i}}at(gl,"_max",2147483647),at(gl,"_min",-2147483648);const xl=class t{constructor(){at(this,"_core",new Pl),at(this,"_handlers"),at(this,"_result",-1),at(this,"handleObject",(t=>{const e=Object.keys(t);for(const s of e)t.hasOwnProperty(s)&&this.compute(t[s])})),at(this,"handleString",(t=>{const e=t.length;for(let s=0;s{this._core.int[0]=t?1:0,this.update()})),at(this,"handleNumber",(t=>{(gl.check(t)?this._core.int:this._core.float)[0]=t,this.update()})),this._handlers=this.newHandlers()}get value(){return~this._result}fromMaterialData(t){const{modelId:e,objectClass:s,currentLod:i,templateId:r,...n}=t;this.reset(),this.compute(e),this.compute(s),this.compute(n),this.compute(i),this.compute(void 0!==r)}generate(t){this.reset();for(const e of t)this.compute(e);return this.value}compute(t){return this.getHandler(t)(t),this}reset(){return this._result=-1,this}getHandler(t){const e=typeof t,s=this._handlers[e];if(!s)throw new Error("Fragments: Unsupported input type");return s}newHandlers(){return{number:this.handleNumber,boolean:this.handleBoolean,string:this.handleString,object:this.handleObject}}update(){for(let e=0;e>1^t._polynomial:this._result>>=1}}};at(xl,"_polynomial",2197175160);let _l=xl;const Ml=class t{constructor(t,e){at(this,"_first"),this._first=this.newData(t,e)}static getComplementary(t,e){let s=0;const i=t.position.length;s=this.makeBufferComplementary(i,t,s,e),s!==1/0&&e(s,1/0)}static get(t,e,s,i){const{filtered:r,position:n,size:a}=this.getData(t,s);return this.setAllBufferData(r,e,n,a,i),{position:n,size:a}}fullOf(t){const e=this._first.following,s=this._first.data;return null===e&&s===t}update(t,e){const s=this.getBufferData(t);if(!(s.data===e)){const{a:i,c:r,b:n}=this.newBuffers(t,s,e);this.setupInputData(s,i,r),this.setupUpdateBuffers(i,n,r)}}size(t){let e=0,s=this._first;for(;null!==s;){this.doesFilterPass(t,s)&&e++,s=s.following}return e}static setAllBufferData(t,e,s,i,r){for(let n=0;ns&&i(s,n-s),s=n+a}return s}static setBuffers(t,e,s){t[s]=this._tempData.position;const i=this._tempData.size===1/0;e[s]=i?this._inf:this._tempData.size}add(e,s,i){if(!t._stash.length)return this.newData(s,i,e);const r=t._stash.pop();if(!r)throw new Error("Fragments: No stash found");return r.position=e,r.size=s,r.data=i,r}remove(e){e&&(e.following=null,e.past=null,t._stash.push(e))}static getData(t,e){const s=t.filter(e),i=s.length;return{filtered:s,position:new Uint32Array(i),size:new Uint32Array(i)}}filter(t){const e=[];let s=this._first;for(;null!==s;){this.doesFilterPass(t,s)&&e.push(s),s=s.following}return e}static transform(t,e){const s=this.getTempData(),i=t.position+t.size,r=i===e.length;if(s.position=e[t.position],r)s.size=1/0;else{const t=e[i];s.size=t-s.position}return s}static getBuffers(t,e){const s=t.position[e];let i;return i=t.size[e]===this._inf?1/0:t.size[e],{position:s,size:i}}static getTempData(){return this._tempData?this._tempData:{position:0,size:0}}doesFilterPass(t,e){return!t||t(e.data)}setupUpdateBuffers(t,e,s){this.chainBuffers(t,e,s),this.setupFirstBuffer(t,e),this.setupLastBuffer(s,e),this.setupMiddleBufferStart(e),this.setupMiddleBufferEnd(e)}setupMiddleBufferEnd(t){var e;if((null==(e=t.following)?void 0:e.data)===t.data){if(!t.following)return;const e=t.following.size+t.size,s=t.following.following;t.size=e,this.remove(t.following),t.following=s,t.following&&(t.following.past=t)}}setupFirstBuffer(t,e){t.size||(t.past?t.past.following=e:this._first=e,e.past=t.past,this.remove(t))}setupMiddleBufferStart(t){var e;if((null==(e=t.past)?void 0:e.data)===t.data){if(!t.past)return;t.size=t.past.size+t.size,t.position=t.past.position;const e=t.past.past;this.remove(t.past),t.past=e,t.past?t.past.following=t:this._first=t}}chainBuffers(t,e,s){t.following=e,e.past=t,e.following=s,s.past=e}setupLastBuffer(t,e){t.size||(t.following&&(t.following.past=e),e.following=t.following,this.remove(t))}newBuffers(t,e,s){const i=t-e.position,r=this.add(e.position,i,e.data),n=this.add(t,1,s),a=e.size-r.size-1;return{a:r,c:this.add(t+1,a,e.data),b:n}}setupInputData(t,e,s){t.past?(t.past.following=e,e.past=t.past):this._first=e,t.following&&(t.following.past=s,s.following=t.following),this.remove(t)}newData(t,e,s=0){return{position:s,size:t,past:null,following:null,data:e}}getBufferData(t){let e=this._first;for(;;){const s=null===e,i=e.position<=t,r=tfi)throw new Error("Fragments: Memory overflow!")}static get(t){return 1<Hl.setBoxX(),y:()=>Hl.setBoxY(),z:()=>Hl.setBoxZ()});let Bl=Hl;class Vl{static getWidth(t){return t.getSize(this._temp.vector),this._temp.vector.x>this._temp.vector.y&&this._temp.vector.set(this._temp.vector.y,this._temp.vector.x,this._temp.vector.z),this._temp.vector.y>this._temp.vector.z&&this._temp.vector.set(this._temp.vector.x,this._temp.vector.z,this._temp.vector.y),this._temp.vector.x>this._temp.vector.y&&this._temp.vector.set(this._temp.vector.y,this._temp.vector.x,this._temp.vector.z),this._temp.vector.y}}at(Vl,"_temp",{vector:new $t});class Wl{static getEarcutDimensions(t){const e=Math.abs(t.x),s=Math.abs(t.y),i=Math.abs(t.z);if(i>e&&i>s){return t.z>0?[0,1]:[1,0]}if(s>e&&s>i){return t.y>0?[2,0]:[0,2]}return t.x>0?[1,2]:[2,1]}}class jl{constructor(t,e){at(this,"meshes"),at(this,"_templateController",new ju),at(this,"_meshIds",new Set),at(this,"_idGenerator",new _l),at(this,"_modelCode"),this.meshes=e,this._modelCode=this.getModelCode(t)}dispose(){ru.delete(this._meshIds)}useMesh(t,e,s){const i=this.meshCode(t,s);ru.lockIn(e),this._templateController.add(i,e)}getMesh(t,e){const s=this.meshCode(t,e);return ru.get(s)??this._templateController.get(s)}saveMesh(t,e,s){Ul.forEach(e,ru.updateMeshMemory);const i=this.meshCode(t,s);ru.add(i,e),this._meshIds.add(i)}meshCode(t,e){const s=[this._modelCode,this.getRepresentation(),e,t];return this._idGenerator.generate(s)}getModelCode(t){return this._idGenerator.generate([t])}}const Yl=32767;var zl=(t=>(t[t.NONE=0]="NONE",t[t.AABB=1]="AABB",t[t.CUSTOM=2]="CUSTOM",t))(zl||{});const kl=class t{static getProfile(t,e,s){return t.type()===Ol.BIG?t.bigProfiles(e,s):t.profiles(e,s)}static getPoints(t){const e=new Float32Array(3*t.pointsLength());for(let s=0;sthis._faceThreshold&&this._tempNormal.add(t)}}static setupNormalBuffer(t){const e=3*t.length;this._normalBuffer.length0,e=this.holePoints>0,s=this.profilePoints>0;return t||e||s}processShell(t){const e=Xl.getProfilesLength(t),s=this.getTempProfile(t);for(let i=0;i2&&(this.triangleAmount+=s-2)}getResult(){const t=this.meshes;return this.meshes=void 0,t}manageMemory(){this.holePoints+this.profilePoints+this.indexCount>fi&&this.setMesh()}updateBuffers(t,e){const s=this.getTempHole(t);this.holePoints+=s.indicesLength(),this.triangleAmount+=s.indicesLength(),e&&(this.triangleAmount+=2)}setMesh(){const t=this.newMesh();this.meshes?Array.isArray(this.meshes)?this.meshes.push(t):this.meshes=[this.meshes,t]:this.meshes=t,this.reset(!1)}getTempProfile(t){return t.type()===Ol.BIG?this._bigShellProfile:this._shellProfile}getTempHole(t){return t.type()===Ol.BIG?this._bigShellHole:this._shellHole}}var Zl=(t=>(t[t.four=4]="four",t[t.three=3]="three",t))(Zl||{});function ql(t,e,s,i,r,n){const a=e&&e.length,o=a?e[0]*s:t.length;let h,c,l,p=Ql(t,0,o,s,!0,i,r);if(p&&p.next!==p.prev){if(a&&(p=function(t,e,s,i,r,n){const a=[];for(let s=0,o=e.length;s80*s){let e=t[i],n=t[r];h=e,c=n;for(let a=s;ae&&(e=s),o>n&&(n=o)}l=Math.max(e-h,n-c),l=0!==l?1/l:0}$l(p,n,s,h,c,l)}}function Ql(t,e,s,i,r,n,a){let o,h,c;if(r===function(t,e,s,i,r,n){let a=0;for(let o=e,h=s-i;o0)for(c=e;c=e;c-=i)o=Np(c,t[c+n],t[c+a],o);return o&&up(o,o.next)&&(h=o.next,Rp(o),o=h),o}function Jl(t,e){if(!t)return t;e||(e=t);let s,i,r=t;do{if(s=!1,r.steiner||!up(r,r.next)&&0!==pp(r.prev,r,r.next))r=r.next;else{if(i=r.prev,Rp(r),r=e=i,r===r.next)break;s=!0}}while(s||r!==e);return e}function $l(t,e,s,i,r,n,a){!a&&n&&function(t,e,s,i){let r=t;do{null===r.z&&(r.z=op(r.x,r.y,e,s,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,s=1;do{let i,r=t;t=null;let n=null;for(e=0;r;){e++;let a=r,o=0;for(let t=0;t0||h>0&&a;)0!==o&&(0===h||!a||r.z<=a.z)?(i=r,r=r.nextZ,o--):(i=a,a=a.nextZ,h--),n?n.nextZ=i:t=i,i.prevZ=n,n=i;r=a}n.nextZ=null,s*=2}while(e>1)}(r)}(t,i,r,n);let o=t;for(;t.prev!==t.next;){const h=t.prev,c=t.next;if(n?ep(t,i,r,n):tp(t))e(h.i/s,t.i/s,c.i/s),Rp(t),t=c.next,o=c.next;else if((t=c)===o){a?1===a?$l(t=sp(Jl(t),e,s),e,s,i,r,n,2):2===a&&ip(t,e,s,i,r,n):$l(Jl(t),e,s,i,r,n,1);break}}}function tp(t){const e=t.prev,s=t,i=t.next;if(pp(e,s,i)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(cp(e.x,e.y,s.x,s.y,i.x,i.y,r.x,r.y)&&pp(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function ep(t,e,s,i){const r=t.prev,n=t,a=t.next;if(pp(r,n,a)>=0)return!1;const o=Math.min(r.x,n.x,a.x),h=Math.min(r.y,n.y,a.y),c=Math.max(r.x,n.x,a.x),l=Math.max(r.y,n.y,a.y),p=op(o,h,e,s,i),u=op(c,l,e,s,i);let E=t.prevZ,I=t.nextZ;for(;E&&E.z>=p&&I&&I.z<=u;){if(E!==t.prev&&E!==t.next&&cp(r.x,r.y,n.x,n.y,a.x,a.y,E.x,E.y)&&pp(E.prev,E,E.next)>=0)return!1;if(E=E.prevZ,I!==t.prev&&I!==t.next&&cp(r.x,r.y,n.x,n.y,a.x,a.y,I.x,I.y)&&pp(I.prev,I,I.next)>=0)return!1;I=I.nextZ}for(;E&&E.z>=p;){if(E!==t.prev&&E!==t.next&&cp(r.x,r.y,n.x,n.y,a.x,a.y,E.x,E.y)&&pp(E.prev,E,E.next)>=0)return!1;E=E.prevZ}for(;I&&I.z<=u;){if(I!==t.prev&&I!==t.next&&cp(r.x,r.y,n.x,n.y,a.x,a.y,I.x,I.y)&&pp(I.prev,I,I.next)>=0)return!1;I=I.nextZ}return!0}function sp(t,e,s){let i=t;do{const r=i.prev,n=i.next.next;!up(r,n)&&Ep(r,i,i.next,n)&&Tp(r,n)&&Tp(n,r)&&(e(r.i/s,i.i/s,n.i/s),Rp(i.next),Rp(i),i=t=n),i=i.next}while(i!==t);return Jl(i)}function ip(t,e,s,i,r,n){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&lp(a,t)){let o=dp(a,t);return a=Jl(a,a.next),o=Jl(o,o.next),$l(a,e,s,i,r,n),void $l(o,e,s,i,r,n)}t=t.next}a=a.next}while(a!==t)}function rp(t,e){return t.x-e.x}function np(t,e){const s=function(t,e){let s=e;const i=t.x,r=t.y;let n,a=-1/0;do{if(r<=s.y&&r>=s.next.y&&s.next.y!==s.y){const t=s.x+(r-s.y)*(s.next.x-s.x)/(s.next.y-s.y);if(t<=i&&t>a){if(a=t,t===i){if(r===s.y)return s;if(r===s.next.y)return s.next}n=s.x=s.x&&s.x>=h&&i!==s.x&&cp(rn.x||s.x===n.x&&ap(n,s)))&&(n=s,l=e)}s=s.next}while(s!==o);return n}(t,e);if(!s)return e;const i=dp(s,t),r=Jl(s,s.next);return Jl(i,i.next),e===e.next||s===e?r:e}function ap(t,e){return pp(t.prev,t,e.prev)<0&&pp(e.next,t,t.next)<0}function op(t,e,s,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-s)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function hp(t){let e=t,s=t;do{(e.x=0&&(t-a)*(i-o)-(s-a)*(e-o)>=0&&(s-a)*(n-o)-(r-a)*(i-o)>=0}function lp(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&Ep(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1}(t,e)&&(Tp(t,e)&&Tp(e,t)&&function(t,e){let s=t,i=!1;const r=(t.x+e.x)/2,n=(t.y+e.y)/2;do{s.y>n!=s.next.y>n&&s.next.y!==s.y&&r<(s.next.x-s.x)*(n-s.y)/(s.next.y-s.y)+s.x&&(i=!i),s=s.next}while(s!==t);return i}(t,e)&&(pp(t.prev,t,e.prev)||pp(t,e.prev,e))||up(t,e)&&pp(t.prev,t,t.next)>0&&pp(e.prev,e,e.next)>0)}function pp(t,e,s){return(e.y-t.y)*(s.x-e.x)-(e.x-t.x)*(s.y-e.y)}function up(t,e){return t.x===e.x&&t.y===e.y}function Ep(t,e,s,i){const r=yp(pp(t,e,s)),n=yp(pp(t,e,i)),a=yp(pp(s,i,t)),o=yp(pp(s,i,e));return r!==n&&a!==o||(!(0!==r||!Ip(t,s,e))||(!(0!==n||!Ip(t,i,e))||(!(0!==a||!Ip(s,t,i))||!(0!==o||!Ip(s,e,i)))))}function Ip(t,e,s){return e.x<=Math.max(t.x,s.x)&&e.x>=Math.min(t.x,s.x)&&e.y<=Math.max(t.y,s.y)&&e.y>=Math.min(t.y,s.y)}function yp(t){return t>0?1:t<0?-1:0}function Tp(t,e){return pp(t.prev,t,t.next)<0?pp(t,e,t.next)>=0&&pp(t,t.prev,e)>=0:pp(t,e,t.prev)<0||pp(t,t.next,e)<0}function dp(t,e){const s=fp(t.i,t.x,t.y),i=fp(e.i,e.x,e.y),r=t.next,n=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,i.next=s,s.prev=i,n.next=i,i.prev=n,i}function Np(t,e,s,i){const r=fp(t,e,s);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Rp(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ),t.next=t,t.prev=t}function fp(t,e,s){return{i:t,x:e,y:s,prev:null,next:null,z:null,prevZ:null,nextZ:null,steiner:!1}}const Op=class t{static create(e,s,i,r,n,a,o,h){const c=e.length,l=o.verticesAmount;t.processBuffers(c,e,n,o,s,i);const p=n.positionBuffer,u=(o.verticesAmount-l)/3;this.processNormals(p,this._tempVec,u,l),this.triangulate(a,r,c,n,o,l),this.setFaceId(l,o,n,h)}static setFaceId(t,e,s,i){const r=t/3,n=e.verticesAmount/3;for(let t=r;t{const a=t.indexBuffer;a[e.indices++]=i+s/3,a[e.indices++]=r+s/3,a[e.indices++]=n+s/3}}static processBuffers(t,e,s,i,r,n){for(let a=0;a0}static getCrossVectors(){this.e.copy(this.b),this.f.copy(this.c),this.g.copy(this.d),this.e.sub(this.a),this.f.sub(this.a),this.g.sub(this.a),this.h.crossVectors(this.e,this.f),this.i.crossVectors(this.f,this.g)}static updateData(t){t.normalsAmount+=this.totalIncrease,t.vertices+=this.vertexIncrease,t.verticesAmount+=this.totalIncrease}static processPoints(t,e){let s=0;const i=t.positionBuffer,r=e.verticesAmount;for(let t=0;t{this.setTileData(t),this.initializeIndices(),this.initializePositions(),this.initializeNormals(),this.initializeFaceIds(),this.initializeSizes(),this._indices++}))}construct(t,e){this.resetConstructData(e),this.getPointsPerWire(t);const s=Xl.getBuffer(t);this.newShellInteriorProfiles(t),this.constructShell(t,s,e),this._tileData=void 0}getIntProfileNormalsAvg(t,e){const s=this.getTempHole(t).indicesArray();this.normalsAvgInterior=Xl.computeNormalsAvg(s,e,this._normals,this._pointsPerProfile)}saveInteriorProfile(t){const e=this.getTempHole(t).profileId();if(this.interiorProfiles.has(e))return this.saveExistingInteriorProfile(e),e;const s=this.getNewIntProfileData();return this.interiorProfiles.set(e,s),e}computeNormalsAvg(t,e,s){if(!this.isShell(t))return;const i=this._normals,r=this._pointsPerProfile;this._normalsAvg=Xl.computeNormalsAvg(e,s,i,r)}isShell(t){return t instanceof Dl}getPointsPerWire(t){this.isShell(t)&&(Xl.getNormalsOfShellProfile(t,this._normals),this._pointsPerProfile=Xl.getPointsShell(t))}getIndices(t,e){const s=this.getTempProfile(t);return Xl.getProfile(t,e,s),s.indicesArray()}resetConstructData(t){this._indices=0,this._tileData=void 0,this.nextBuffer(t),this._normals.length=0}initializeIndices(){const t=this._tileData.indexCount;this._tileData.indexBuffer=new Uint16Array(t)}constructFace4(t,e,s){const i=this._faceIdPerProfile.get(s);Ap.create(t,e,this._normalsAvg,s,this._tileData,this._sizes,i)}initializeSizes(){this._sizes.vertices=0,this._sizes.indices=0,this._sizes.verticesAmount=0,this._sizes.normalsAmount=0,this._sizes.normals=0}getInteriorProfileBuffer(t,e){const s=this.getTempHole(t).indicesLength();if(this.isShell(t))for(let i=0;ifi&&this.nextBuffer(e)}initializeFaceIds(){const t=this._tileData.positionCount;this._tileData.faceIdBuffer=new Uint32Array(t/3)}getNextFaceId(){return 4294967295*Math.random()}newShellInteriorProfiles(t){this.interiorProfiles.clear();const e=Xl.getHolesLength(t),s=this.getTempHole(t);for(let i=0;i0)for(let t=0;t=Math.abs(t.y)){const i=1/Math.sqrt(t.x*t.x+t.z*t.z),r=-t.z*i,n=0,a=t.x*i;e.set(r,n,a);const o=t.y*e.z,h=t.z*e.x-t.x*e.z,c=-t.y*e.x;s.set(o,h,c)}else{const i=1/Math.sqrt(t.y*t.y+t.z*t.z),r=0,n=t.z*i,a=-t.y*i;e.set(r,n,a);const o=t.y*e.z-t.z*e.y,h=-t.x*e.z,c=t.x*e.y;s.set(o,h,c)}e.normalize(),s.normalize()}polygonContains(t,e){let s=!1;this.newOrthoNormalBasis(),this.setPolyContainVec(e,t);let i=this.k.dot(this.i),r=this.k.dot(this.j);for(let n=0;n0!==r>0){(i-l)*-p/(r-p)+l>0&&(s=!s)}i=l,r=p}return s}processNormal(t,e,s){const i=t[e+0],r=t[s+0],n=t[e+1],a=t[s+1],o=t[e+2],h=t[s+2];this.d.x+=(n-a)*(o+h),this.d.y+=(o-h)*(i+r),this.d.z+=(i-r)*(n+a)}getCollidesPlane(t,e,s){const i=3*t[0],r=e[i],n=e[i+1],a=e[i+2];this.a.set(r,n,a),this.computeNormal(e,t),this.tempPlane.setFromNormalAndCoplanarPoint(this.d,this.a);return s.intersectPlane(this.tempPlane,this.b)}setPolyContainVec(t,e){const s=3*t[t.length-1],i=e[s],r=e[s+1],n=e[s+2];this.k.set(i,r,n),this.k.sub(this.b)}getTriangleBuffer(t,e){const s=[],i=[];for(let r=0;rMath.cos(this._minAngle)}getProfile(t,e,s){const i=this._pointsByProfile.get(t),r=this._pointsByProfile.get(e),n=[];for(const t of i)-1!==r.indexOf(t)&&t!==s&&n.push(t);return n}cast(t,e,s,i,r){Xl.point(this._shell,t,this._tempV1),Xl.point(this._shell,e,this._tempV2),this.raycastSegment(s);if(!i.containsPoint(this._tempPoint))return!1;return!this.isInvalidAngle(t,e,r)}saveResult(t){const e=this._tempV1.clone(),s=this._tempV2.clone(),i=this._normals[t],r=this._tempPoint.clone();this._result.push({point:r,normal:i,snappedEdgeP1:e,snappedEdgeP2:s})}getSecondIndex(t,e){const s=t===e-1,i=this.getTempProfile(this._shell);return s?i.indices(0):i.indices(t+1)}raycastSegment(t){t.distanceSqToSegment(this._tempV1,this._tempV2,void 0,this._tempPoint)}getTempProfile(t){return t.type()===Ol.BIG?this._bigShellProfile:this._shellProfile}}class Pp{constructor(t){at(this,"_meshes"),at(this,"_tempVec",new $t),this._meshes=t}pointRaycast(t,e){const s=Xl.getShell(this._meshes,t),i=[];return this.cast(s,e,i),i}cast(t,e,s){const i=t.pointsLength();for(let r=0;rn)return null;const a=2*s,o=Math.sqrt(n-r);return{factorA:(-i+o)/a,factorB:(-i-o)/a}}static computeCircleExtrusionRaycast(t,e){const s=this.computeCircleExtrusionRaycastFactors();if(null===s)return[];const{factorA:i,factorB:r}=s;return this._ceInverseTransform.transpose(),this._ceRaycastPoints=[],this.computeCircleExtrusionRaycastPoints(i,t,e),this.computeCircleExtrusionRaycastPoints(r,t,e),this._ceRaycastPoints}static setupCircleExtrusionRay(t){this._ceInverseTransform.copy(this._ceTransform),this._ceInverseTransform.invert(),this._ceRay.copy(t),this._ceRay.applyMatrix4(this._ceInverseTransform)}static computeCircleExtrusionRaycastPoints(t,e,s){if(!this.checkIfCircleExtrusionClashes(t,e,s))return;this._ceRaycastPoint.applyMatrix4(this._ceTransform);const i=this._ceRaycastPoint.clone();this._ceRaycastPoints.push({point:i})}static setupCircleExtrusionAxes(t,e){this._ceAxisZ.copy(t),this._ceAxisZ.sub(e),this._ceAxisZ.normalize(),this.computeNormal(this._ceAxisZ,this._ceAxisX),this._ceAxisY.crossVectors(this._ceAxisZ,this._ceAxisX)}static computeNormal(t,e){const s=t.dot(this._ceAbsoluteX),i=Math.abs(s)>.9?this._ceAbsoluteZ:this._ceAbsoluteX;e.crossVectors(t,i),e.normalize()}static setupCircleExtrusionRaycastPoint(t){this._ceRaycastPoint.copy(this._ceRay.direction),this._ceRaycastPoint.normalize(),this._ceRaycastPoint.multiplyScalar(t),this._ceRaycastPoint.add(this._ceRay.origin)}static checkIfCircleExtrusionClashes(t,e,s){this.setupCircleExtrusionRaycastPoint(t);const i=e/s,r=this._ceRaycastPoint.z;return r>=0&&r<=i}}at(xp,"_floats",new nl),at(xp,"_wire",new ol),at(xp,"_wireSet",new hl),at(xp,"_circleCurve",new al),at(xp,"_wireP1",new $t),at(xp,"_wireP2",new $t),at(xp,"_circleP1",new $t),at(xp,"_circleP2",new $t),at(xp,"_circleOrigin",new $t),at(xp,"_circleOrientation",new $t),at(xp,"_currentWireSetPoint",new $t),at(xp,"_nextWireSetPoint",new $t),at(xp,"_ceAxisZ",new $t),at(xp,"_ceAxisY",new $t),at(xp,"_ceAxisX",new $t),at(xp,"_ceRaycastPoint",new $t),at(xp,"_ceSize",new $t),at(xp,"_ceAbsoluteX",new $t(0,0,1)),at(xp,"_ceAbsoluteZ",new $t(1,0,0)),at(xp,"_circlePoints",[]),at(xp,"_ceTransform",new be),at(xp,"_ceInverseTransform",new be),at(xp,"_ceRay",new Le),at(xp,"_ceRaycastPoints",[]);const _p=class t{static newPaths(e,s){const i=t.newPathData();return this.fetchCircleCurveData(e,i),this.fetchCircleCurveMids(s,i,e),this.fetchCircleCurveEnds(i,e),this.fetchCircleCurveCuts(i),i.cuts}static getAxisPartSize(e,s,i){const r=e.parts(s),n=e.order(s),a=t.getAxisPartData(r,i,e,n);return t.fetchAxisPartSize(i,a),this._axisPartSize}static vertexLength(e,s=200){const i=Math.round(e*s),r=Math.max(i,t._minSize);return Math.min(r,t._maxSize)}static setPathVertices(t){const e=this.circleCurvePoints,s=!e,i=e&&e.length!==t;if(s||i){this.circleCurvePoints=[];for(let e=0;e=t+e+s}static fetchCircleCurveCuts(t){t.cuts.push(t.first),t.cuts.push(...t.mids),t.cuts.push(t.last)}static fetchCircleCurveData(t,e){const s=t.position();e.center.set(s.x(),s.y(),s.z());const i=t.xDirection();e.axis.set(i.x(),i.y(),i.z());const r=t.yDirection();e.first.set(r.x(),r.y(),r.z())}static newPathData(){return{axis:new $t,cuts:[],center:new $t,last:new $t,first:new $t,mids:[]}}static fetchAxisPartSize(t,e){const s=t-2,i=e.faces*s*3,r=e.links*t*this._wireSize;this._axisPartSize.verticesLength=e.points,this._axisPartSize.indicesLength=e.indices+i+r}};at(_p,"up",new $t(0,0,1)),at(_p,"circleCurves",[]),at(_p,"circleCurvePoints"),at(_p,"temp",{circleExtrusion:new Il,circleCurve:new al,wireSet:new hl,axis:new cl,rotation:new Jt,vector:new $t}),at(_p,"_wireSize",6),at(_p,"_minSize",6),at(_p,"_maxSize",30),at(_p,"_axisPartSize",{verticesLength:0,indicesLength:0}),at(_p,"getAxisPartWireSetData",((t,e,s)=>{const i=_p.newEmptyAxisPartData();t.wireSets(e,_p.temp.wireSet);const r=_p.temp.wireSet.psLength()-1;return i.points=2*r*s,i.indices=_p._wireSize*r*s,i.faces=2*r,i})),at(_p,"getAxisPartWireData",((t,e,s)=>{const i=_p.newEmptyAxisPartData();return i.points=2*s,i.indices=_p._wireSize*s,i.faces=2,i})),at(_p,"getAxisPartCircleCurveData",((t,e,s)=>{const i=_p.newEmptyAxisPartData();t.circleCurves(e,_p.temp.circleCurve);const r=xp.circleCurve3Divisions(_p.temp.circleCurve),n=s*r;i.points=n;const a=s*(r-1),o=_p._wireSize*a;i.indices=o;return i.faces=2,i.links=2,i}));let Mp=_p;class Fp{constructor(){at(this,"_minLinkDistance",1e-8),at(this,"_first",new $t),at(this,"_last",new $t),at(this,"_currentPoint"),at(this,"_currentIndex"),at(this,"_v1",new $t),at(this,"_v2",new $t),at(this,"_v3",new $t),at(this,"_v4",new $t),at(this,"_tempLine",new Ri),at(this,"_total",0),at(this,"_closest",0),at(this,"_result",0)}newTemplate(t,e,s){const i=t.radius(e),r=t.axes(e,Mp.temp.axis),n=Mp.vertexLength(i);let a=s[s.length-1];const o=r.orderLength();for(let t=0;t=s?t+e-i:t+e,o=t+r>=s?t+r-i:t+r,h=n+e>=s+i?n+e-i:n+e,c=n+r>=s+i?n+r-i:n+r,{i3:h,i4:c,i1:a,i2:o}}fetchWirePoints(t){const e=t.p1(),s=t.p2();this._first.set(e.x(),e.y(),e.z()),this._last.set(s.x(),s.y(),s.z())}findLinkedVertex(t,e,s,i,r){for(let n=t;n=t?e-i:e;this.point(a,s,this._v2);const o=e+1>=t?e+1-i:e+1;this.point(o,s,this._v3),this._tempLine.set(this._v2,this._v3),this._tempLine.closestPointToPoint(this._v1,!0,this._v4),this._total+=this._v4.distanceTo(this._v1)}}newPath(t,e,s,i,r){Mp.setPathVertices(r);for(let n=0;n{this.castCurveExtrusion(s,i,t,e)}}castCurveExtrusion(t,e,s,i){const r=xp.raycastCircleExtr(t,e,s,i);for(const t of r)this._results.push(t)}getTraverseCircleCurveEvent(t,e){return(s,i,r)=>{const n=i[0];this.castCurveExtrusion(s,n,t,e);for(let s=0;s{this.cylinderRaycast(s,i,t,e)}))}exclusiveCylinderRaycast(t,e){const s=this._axis,i=this.getCylinderRaycastEvent(t,e);xp.traverseWires(s,i)}processLineRaycast(t,e){const s=this._circleExtrusion.radius(t);this.exclusiveCylinderRaycast(e,s),this.circleCurveRaycast(e,s),this.wireSetRaycast(e,s)}getCylinderRaycastEvent(t,e){return(s,i)=>{this.cylinderRaycast(s,i,t,e)}}processCircleCurveBody(t,e,s){for(let i=0;i{this.cylinderRaycast(s,i[0],t,e),this.processCircleCurveBody(i,t,e);const n=i[i.length-1];this.cylinderRaycast(n,r,t,e)}}fetchCylinderRaycastResult(t,e,s){t.distanceSqToSegment(e,s,void 0,this._wirePoint);const i=this.newResult(e,s);this._found.push(i)}circleCurveRaycast(t,e){const s=xp.circleCurve3Divisions,i=this.getCircleCurveRaycastEvent(t,e);xp.traverseCircleCurve(this._axis,i,s)}newResult(t,e){return{point:this._wirePoint.clone(),raySquaredDistance:void 0,snappedEdgeP1:t.clone(),snappedEdgeP2:e.clone()}}cylinderRaycast(t,e,s,i){const r=xp.raycastCircleExtr(t,e,s,i);for(const i of r)i.point&&this.fetchCylinderRaycastResult(s,t,e)}}class Gp{constructor(t){at(this,"_meshes"),at(this,"_results",[]),at(this,"_circleExtrusion",new Il),at(this,"_axis",new cl),at(this,"_normal",new $t),at(this,"_point",new $t),at(this,"_plane",new Ei),this._meshes=t}pointRaycast(t,e){return this._results.length=0,this._meshes.circleExtrusions(t,this._circleExtrusion),this.traverseAllCircleExtrusions(e),this.getCleanResults()}fetchOrientation(t,e){Mp.temp.vector.copy(t),Mp.temp.vector.sub(e),Mp.temp.vector.normalize();Mp.temp.rotation.setFromUnitVectors(Mp.up,Mp.temp.vector)}getTraverseWiresEvent(t,e){return(s,i)=>{this.fetchOrientation(s,i);const r=this.raycastCutCircleExtrusion(s,t,e),n=this.raycastCutCircleExtrusion(i,t,e);this._results.push(r,n)}}traverseAllCircleExtrusions(t){const e=this._circleExtrusion.axesLength();for(let s=0;s{this.fetchOrientation(s,i[0]);const n=this.raycastCutCircleExtrusion(s,t,e),a=i[i.length-1];this.fetchOrientation(a,r);const o=this.raycastCutCircleExtrusion(r,t,e);this._results.push(n,o)}}computeCutCircleExtrCast(t,e,s){s.intersectPlane(this._plane,this._point);if(this._point.distanceTo(t)<=e){return{point:t.clone()}}}raycastCutCircleExtrusion(t,e,s){this.setupCuttedCircleExtrusion(t);if(e.intersectsPlane(this._plane))return this.computeCutCircleExtrCast(t,s,e)}getCleanResults(){const t=[];for(const e of this._results)e&&t.push(e);return t}traverseAllCurves(t,e){const s=this.getTraverseWiresEvent(t,e);xp.traverseWires(this._axis,s);const i=this.getTraverseCircleCurveEvent(t,e),r=xp.circleCurve3Divisions;xp.traverseCircleCurve(this._axis,i,r);const n=this.getTraverseWiresEvent(t,e);xp.traverseWireSets(this._axis,n)}}class Hp{constructor(){at(this,"_currentElement",0),at(this,"_wireSize",6),at(this,"newCircleCurveLod",((t,e,s)=>{const i=this.newCircleCurveLodPath(t,e),r=s.positionBuffer;for(let t=1;t{const i=t.wireSets(e),r=i.psLength(),n=s.positionBuffer;for(let t=1;t{e.positionCount+=this._wireSize})),at(this,"newWireSetTemplate",((t,e)=>{const s=Mp.temp.axis.wireSets(t,Mp.temp.wireSet).psLength()-1;e.positionCount+=this._wireSize*s})),at(this,"newWireLod",((t,e,s)=>{const i=t.wires(e),r=i.p1(),n=i.p2(),a=s.positionBuffer;this.newWire(a,r,n)})),at(this,"newCircleCurveTemplate",((t,e)=>{const s=Mp.temp.axis.circleCurves(t,Mp.temp.circleCurve),i=xp.circleCurve3Divisions(s);e.positionCount+=this._wireSize*(i-1)}))}construct(t,e){this._currentElement=0,e.positionBuffer=new Float32Array(e.positionCount);for(let s=0,i=t.axesLength();s{if(this._list.length){const t=this._list;this._connection.fetchMeshCompute(this._modelId,t),this._list=[]}})),this._modelId=t,this._connection=e,this._updater=Pi.newUpdater(this.refresh,this._rate)}get needsRefresh(){return this._list.length>this._threshold}dispose(){Pi.deleteUpdater(this._updater)}clean(){this._list=Pi.cleanRequests(this._list)}process(t){this._list.push(t),this.needsRefresh&&this.refresh()}}class jp{constructor(t,e,s,i){at(this,"_meshes"),at(this,"_model"),at(this,"_boxes"),at(this,"_tiles"),at(this,"_items"),at(this,"_edgeThreshold",8),at(this,"_raycastMultiplier",32),at(this,"_maxDuration",512),at(this,"_precission",.001),at(this,"_temp",{sample:new Nl,representation:new dl,tempPlane:new Ei,ray:new Le,frustum:new Ti,m1:new be,m2:new be,m3:new be,v1:new $t,planes:[]}),this._model=t,this._boxes=e,this._tiles=s,this._items=i,this._meshes=t.meshes()}static cast(t,e,s,i,r){const n=e.id();return r===Ci.FACE?t.faceRaycast(n,s,i):r===Ci.LINE?t.lineRaycast(n,s,i):r===Ci.POINT?t.pointRaycast(n,s,i):void 0===r?t.raycast(n,s,i):void 0}raycast(t,e,s,i){const r={ray:t,frustum:e,planes:s,returnAll:i},n=this.castBox(e,s);return n.length?this.computeRaycastList(n,r):null}snapRaycast(t,e,s,i){const r=[],n={ray:t,frustum:e,planes:i},a=this.raycast(t,e,i);return a?(this.getSnaps(a,n,s,r),a.normal?this.filterOnFront(r):r):this.snapCastEdges(n,s)}rectangleRaycast(t,e,s){const i=this._boxes.lookup;if(!i)return[];const r=i.collideFrustum(e,t,s),n=this.filterVisible(r);return this.localIdsFromItemIds(n)}snapCastEdges(t,e){const s=[],i=e.includes(Ci.POINT),r=e.includes(Ci.LINE);return(i||r)&&this.computeEdgesCast(t,e,s),this.addDistanceToEdgeResult(s,t.ray),s}filterVisible(t){const e=[];for(const s of t){this._meshes.samples(s,this._temp.sample);const t=this._temp.sample.item();this._items.visible(t)&&e.push(s)}return e}computeSnaps(t,e,s,i){for(const r of t){if(this.isValidSnap(r)){const t={snap:r,...e},n=this.castSample(s,t);for(const t of n)i.push(t)}}}computeEdgesCast(t,e,s){const i=this.getRawEdges(t),r=performance.now();for(const n of i){this.fetchSampleData(n),this.computeSnaps(e,t,n,s);if(this.isTimeExceeded(r))break}}addDistanceToEdgeResult(t,e){for(const s of t){const t=s.point;s.raySquaredDistance=e.distanceSqToPoint(t)}}getRawEdges(t){const e=this.castBox(t.frustum,t.planes);return e.length<=this._edgeThreshold?e:this.sortBoxes(t.ray,e,this._edgeThreshold)}sortBoxes(t,e,s){const i=[],r=new $t,n=t.origin;for(let s=0;ss&&a.splice(s),a}castBox(t,e){const s=this._boxes.lookup;if(!s)return[];if(t instanceof Le){const i=s.collideRay(e,t);return this.filterVisible(i)}const i=s.collideFrustum(e,t);return this.filterVisible(i)}dataSort(t,e){const s=Array.from(t.keys()).sort(((t,s)=>e[t]-e[s])),i=[];for(const e of s){const s=t[e];i.push(s)}return i}localIdsFromItemIds(t){const e=new Set;for(const s of t){this._meshes.samples(s,this._temp.sample);const t=this._temp.sample.item(),i=this._meshes.meshesItems(t);if(null===i)continue;const r=this._model.localIds(i);null!==r&&e.add(r)}return Array.from(e)}getNearest(t){let e=t[0];for(let s=1;sthis._maxDuration}getFilteredSampleCast(t){const e=this._tiles.raycast(this._temp.representation,this._temp.ray,this._temp.frustum,t.snap);if(0===this._temp.planes.length)return e;const s=[];if(e)for(const t of e){const e=this._temp.planes,i=t.point;bc.containedInParallelPlanes(e,i)&&s.push(t)}return s}getSnaps(t,e,s,i){this.fetchSampleData(t.sampleId),t.normal&&(this.setCastSide(t,e.ray),this.setCastPlane(t)),this.getFaces(s,e,t,i),this.getEdges(e,s,i);for(const t of i)this.addLocalId(t)}filterOnFront(t){const e=[];for(const s of t){this._temp.tempPlane.distanceToPoint(s.point)>=0&&e.push(s)}return e}setCastSide(t,e){const s=t.point.clone().sub(e.origin);t.normal.dot(s)>0&&t.normal.negate()}getFaces(t,e,s,i){for(const r of t){const t={snap:r,...e},n=this.castSample(s.sampleId,t);for(const t of n)i.push(t)}}setCastPlane(t){const e=this._temp.tempPlane,s=t.point.clone(),i=t.normal.clone();i.multiplyScalar(this._precission),s.sub(i),e.setFromNormalAndCoplanarPoint(t.normal,s)}castSample(t,e){this.setupSampleCastData(e),this.setupPlanesForSampleCast(e);const s=this.getFilteredSampleCast(e);return s&&this.formatRaycastResult(s,t,e),s}isValidSnap(t){const e=t===Ci.LINE,s=t===Ci.POINT;return e||s}transform(t,e){const s=[];if(t)for(const i of t){const t=(new Ei).copy(i);t.applyMatrix4(e),s.push(t)}return s}setupPlanesForSampleCast(t){if(this._temp.planes.length=0,t.planes&&t.planes.length>0){const e=this.transform(t.planes,this._temp.m2);for(const t of e)this._temp.planes.push(t)}}}const Yp="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date,zp=new Set,kp="object"==typeof process&&process?process:{},Xp=(t,e,s,i)=>{"function"==typeof kp.emitWarning?kp.emitWarning(t,e,s,i):console.error(`[${s}] ${e}: ${t}`)};let Kp=globalThis.AbortController,Zp=globalThis.AbortSignal;if(void 0===Kp){Zp=class{constructor(){at(this,"onabort"),at(this,"_onabort",[]),at(this,"reason"),at(this,"aborted",!1)}addEventListener(t,e){this._onabort.push(e)}},Kp=class{constructor(){at(this,"signal",new Zp),s()}abort(t){var e,s;if(!this.signal.aborted){this.signal.reason=t,this.signal.aborted=!0;for(const e of this.signal._onabort)e(t);null==(s=(e=this.signal).onabort)||s.call(e,t)}}};let e="1"!==(null==(t=kp.env)?void 0:t.LRU_CACHE_IGNORE_AC_WARNING);const s=()=>{e&&(e=!1,Xp("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",s))}}const qp=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),Qp=t=>qp(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?Jp:null:null;class Jp extends Array{constructor(t){super(t),this.fill(0)}}const $p=class t{constructor(s,i){if(at(this,"heap"),at(this,"length"),!ht(t,e))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new i(s),this.length=0}static create(s){const i=Qp(s);if(!i)return[];lt(t,e,!0);const r=new t(s,i);return lt(t,e,!1),r}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}};e=new WeakMap,ct($p,e,!1);let tu=$p;const eu=class t{constructor(e){ct(this,v),ct(this,_),ct(this,G),ct(this,B),ct(this,W),ct(this,z),ct(this,X),ct(this,Z),ct(this,Q),ct(this,$),ct(this,et),ct(this,it),ct(this,s,void 0),ct(this,i,void 0),ct(this,r,void 0),ct(this,n,void 0),ct(this,a,void 0),ct(this,o,void 0),ct(this,h,void 0),at(this,"ttl"),at(this,"ttlResolution"),at(this,"ttlAutopurge"),at(this,"updateAgeOnGet"),at(this,"updateAgeOnHas"),at(this,"allowStale"),at(this,"noDisposeOnSet"),at(this,"noUpdateTTL"),at(this,"maxEntrySize"),at(this,"sizeCalculation"),at(this,"noDeleteOnFetchRejection"),at(this,"noDeleteOnStaleGet"),at(this,"allowStaleOnFetchAbort"),at(this,"allowStaleOnFetchRejection"),at(this,"ignoreFetchAbort"),ct(this,c,void 0),ct(this,l,void 0),ct(this,p,void 0),ct(this,u,void 0),ct(this,E,void 0),ct(this,I,void 0),ct(this,y,void 0),ct(this,T,void 0),ct(this,d,void 0),ct(this,N,void 0),ct(this,R,void 0),ct(this,f,void 0),ct(this,O,void 0),ct(this,D,void 0),ct(this,m,void 0),ct(this,A,void 0),ct(this,S,void 0),ct(this,C,void 0),ct(this,b,(()=>{})),ct(this,P,(()=>{})),ct(this,g,(()=>{})),ct(this,x,(()=>!1)),ct(this,F,(t=>{})),ct(this,U,((t,e,s)=>{})),ct(this,w,((t,e,s,i)=>{if(s||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0})),at(this,Y,"LRUCache");const{max:H=0,ttl:V,ttlResolution:j=1,ttlAutopurge:k,updateAgeOnGet:K,updateAgeOnHas:q,allowStale:J,dispose:tt,onInsert:st,disposeAfter:rt,noDisposeOnSet:nt,noUpdateTTL:ot,maxSize:pt=0,maxEntrySize:Et=0,sizeCalculation:It,fetchMethod:yt,memoMethod:Tt,noDeleteOnFetchRejection:dt,noDeleteOnStaleGet:Nt,allowStaleOnFetchRejection:Rt,allowStaleOnFetchAbort:ft,ignoreFetchAbort:Ot}=e;if(0!==H&&!qp(H))throw new TypeError("max option must be a nonnegative integer");const Dt=H?Qp(H):Array;if(!Dt)throw new Error("invalid max value: "+H);if(lt(this,s,H),lt(this,i,pt),this.maxEntrySize=Et||ht(this,i),this.sizeCalculation=It,this.sizeCalculation){if(!ht(this,i)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw new TypeError("sizeCalculation set to non-function")}if(void 0!==Tt&&"function"!=typeof Tt)throw new TypeError("memoMethod must be a function if defined");if(lt(this,h,Tt),void 0!==yt&&"function"!=typeof yt)throw new TypeError("fetchMethod must be a function if specified");if(lt(this,o,yt),lt(this,A,!!yt),lt(this,p,new Map),lt(this,u,new Array(H).fill(void 0)),lt(this,E,new Array(H).fill(void 0)),lt(this,I,new Dt(H)),lt(this,y,new Dt(H)),lt(this,T,0),lt(this,d,0),lt(this,N,tu.create(H)),lt(this,c,0),lt(this,l,0),"function"==typeof tt&<(this,r,tt),"function"==typeof st&<(this,n,st),"function"==typeof rt?(lt(this,a,rt),lt(this,R,[])):(lt(this,a,void 0),lt(this,R,void 0)),lt(this,m,!!ht(this,r)),lt(this,C,!!ht(this,n)),lt(this,S,!!ht(this,a)),this.noDisposeOnSet=!!nt,this.noUpdateTTL=!!ot,this.noDeleteOnFetchRejection=!!dt,this.allowStaleOnFetchRejection=!!Rt,this.allowStaleOnFetchAbort=!!ft,this.ignoreFetchAbort=!!Ot,0!==this.maxEntrySize){if(0!==ht(this,i)&&!qp(ht(this,i)))throw new TypeError("maxSize must be a positive integer if specified");if(!qp(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");ut(this,_,M).call(this)}if(this.allowStale=!!J,this.noDeleteOnStaleGet=!!Nt,this.updateAgeOnGet=!!K,this.updateAgeOnHas=!!q,this.ttlResolution=qp(j)||0===j?j:1,this.ttlAutopurge=!!k,this.ttl=V||0,this.ttl){if(!qp(this.ttl))throw new TypeError("ttl must be a positive integer if specified");ut(this,v,L).call(this)}if(0===ht(this,s)&&0===this.ttl&&0===ht(this,i))throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!ht(this,s)&&!ht(this,i)){const e="LRU_CACHE_UNBOUNDED";if((t=>!zp.has(t))(e)){zp.add(e);Xp("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",e,t)}}}static unsafeExposeInternals(t){return{starts:ht(t,O),ttls:ht(t,D),sizes:ht(t,f),keyMap:ht(t,p),keyList:ht(t,u),valList:ht(t,E),next:ht(t,I),prev:ht(t,y),get head(){return ht(t,T)},get tail(){return ht(t,d)},free:ht(t,N),isBackgroundFetch:e=>{var s;return ut(s=t,Z,q).call(s,e)},backgroundFetch:(e,s,i,r)=>{var n;return ut(n=t,X,K).call(n,e,s,i,r)},moveToTail:e=>{var s;return ut(s=t,$,tt).call(s,e)},indexes:e=>{var s;return ut(s=t,G,H).call(s,e)},rindexes:e=>{var s;return ut(s=t,B,V).call(s,e)},isStale:e=>{var s;return ht(s=t,x).call(s,e)}}}get max(){return ht(this,s)}get maxSize(){return ht(this,i)}get calculatedSize(){return ht(this,l)}get size(){return ht(this,c)}get fetchMethod(){return ht(this,o)}get memoMethod(){return ht(this,h)}get dispose(){return ht(this,r)}get onInsert(){return ht(this,n)}get disposeAfter(){return ht(this,a)}getRemainingTTL(t){return ht(this,p).has(t)?1/0:0}*entries(){for(const t of ut(this,G,H).call(this))void 0===ht(this,E)[t]||void 0===ht(this,u)[t]||ut(this,Z,q).call(this,ht(this,E)[t])||(yield[ht(this,u)[t],ht(this,E)[t]])}*rentries(){for(const t of ut(this,B,V).call(this))void 0===ht(this,E)[t]||void 0===ht(this,u)[t]||ut(this,Z,q).call(this,ht(this,E)[t])||(yield[ht(this,u)[t],ht(this,E)[t]])}*keys(){for(const t of ut(this,G,H).call(this)){const e=ht(this,u)[t];void 0===e||ut(this,Z,q).call(this,ht(this,E)[t])||(yield e)}}*rkeys(){for(const t of ut(this,B,V).call(this)){const e=ht(this,u)[t];void 0===e||ut(this,Z,q).call(this,ht(this,E)[t])||(yield e)}}*values(){for(const t of ut(this,G,H).call(this)){void 0===ht(this,E)[t]||ut(this,Z,q).call(this,ht(this,E)[t])||(yield ht(this,E)[t])}}*rvalues(){for(const t of ut(this,B,V).call(this)){void 0===ht(this,E)[t]||ut(this,Z,q).call(this,ht(this,E)[t])||(yield ht(this,E)[t])}}[Symbol.iterator](){return this.entries()}find(t,e={}){for(const s of ut(this,G,H).call(this)){const i=ht(this,E)[s],r=ut(this,Z,q).call(this,i)?i.__staleWhileFetching:i;if(void 0!==r&&t(r,ht(this,u)[s],this))return this.get(ht(this,u)[s],e)}}forEach(t,e=this){for(const s of ut(this,G,H).call(this)){const i=ht(this,E)[s],r=ut(this,Z,q).call(this,i)?i.__staleWhileFetching:i;void 0!==r&&t.call(e,r,ht(this,u)[s],this)}}rforEach(t,e=this){for(const s of ut(this,B,V).call(this)){const i=ht(this,E)[s],r=ut(this,Z,q).call(this,i)?i.__staleWhileFetching:i;void 0!==r&&t.call(e,r,ht(this,u)[s],this)}}purgeStale(){let t=!1;for(const e of ut(this,B,V).call(this,{allowStale:!0}))ht(this,x).call(this,e)&&(ut(this,et,st).call(this,ht(this,u)[e],"expire"),t=!0);return t}info(t){const e=ht(this,p).get(t);if(void 0===e)return;const s=ht(this,E)[e],i=ut(this,Z,q).call(this,s)?s.__staleWhileFetching:s;if(void 0===i)return;const r={value:i};if(ht(this,D)&&ht(this,O)){const t=ht(this,D)[e],s=ht(this,O)[e];if(t&&s){const e=t-(Yp.now()-s);r.ttl=e,r.start=Date.now()}}return ht(this,f)&&(r.size=ht(this,f)[e]),r}dump(){const t=[];for(const e of ut(this,G,H).call(this,{allowStale:!0})){const s=ht(this,u)[e],i=ht(this,E)[e],r=ut(this,Z,q).call(this,i)?i.__staleWhileFetching:i;if(void 0===r||void 0===s)continue;const n={value:r};if(ht(this,D)&&ht(this,O)){n.ttl=ht(this,D)[e];const t=Yp.now()-ht(this,O)[e];n.start=Math.floor(Date.now()-t)}ht(this,f)&&(n.size=ht(this,f)[e]),t.unshift([s,n])}return t}load(t){this.clear();for(const[e,s]of t){if(s.start){const t=Date.now()-s.start;s.start=Yp.now()-t}this.set(e,s.value,s)}}set(t,e,i={}){var o,h,l,T,f,O,b;if(void 0===e)return this.delete(t),this;const{ttl:x=this.ttl,start:_,noDisposeOnSet:M=this.noDisposeOnSet,sizeCalculation:G=this.sizeCalculation,status:H}=i;let{noUpdateTTL:B=this.noUpdateTTL}=i;const V=ht(this,w).call(this,t,e,i.size||0,G);if(this.maxEntrySize&&V>this.maxEntrySize)return H&&(H.set="miss",H.maxEntrySizeExceeded=!0),ut(this,et,st).call(this,t,"set"),this;let W=0===ht(this,c)?void 0:ht(this,p).get(t);if(void 0===W)W=0===ht(this,c)?ht(this,d):0!==ht(this,N).length?ht(this,N).pop():ht(this,c)===ht(this,s)?ut(this,z,k).call(this,!1):ht(this,c),ht(this,u)[W]=t,ht(this,E)[W]=e,ht(this,p).set(t,W),ht(this,I)[ht(this,d)]=W,ht(this,y)[W]=ht(this,d),lt(this,d,W),pt(this,c)._++,ht(this,U).call(this,W,V,H),H&&(H.set="add"),B=!1,ht(this,C)&&(null==(o=ht(this,n))||o.call(this,e,t,"add"));else{ut(this,$,tt).call(this,W);const s=ht(this,E)[W];if(e!==s){if(ht(this,A)&&ut(this,Z,q).call(this,s)){s.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:e}=s;void 0===e||M||(ht(this,m)&&(null==(h=ht(this,r))||h.call(this,e,t,"set")),ht(this,S)&&(null==(l=ht(this,R))||l.push([e,t,"set"])))}else M||(ht(this,m)&&(null==(T=ht(this,r))||T.call(this,s,t,"set")),ht(this,S)&&(null==(f=ht(this,R))||f.push([s,t,"set"])));if(ht(this,F).call(this,W),ht(this,U).call(this,W,V,H),ht(this,E)[W]=e,H){H.set="replace";const t=s&&ut(this,Z,q).call(this,s)?s.__staleWhileFetching:s;void 0!==t&&(H.oldValue=t)}}else H&&(H.set="update");ht(this,C)&&(null==(O=this.onInsert)||O.call(this,e,t,e===s?"update":"replace"))}if(0===x||ht(this,D)||ut(this,v,L).call(this),ht(this,D)&&(B||ht(this,g).call(this,W,x,_),H&&ht(this,P).call(this,H,W)),!M&&ht(this,S)&&ht(this,R)){const t=ht(this,R);let e;for(;e=null==t?void 0:t.shift();)null==(b=ht(this,a))||b.call(this,...e)}return this}pop(){var t;try{for(;ht(this,c);){const t=ht(this,E)[ht(this,T)];if(ut(this,z,k).call(this,!0),ut(this,Z,q).call(this,t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(void 0!==t)return t}}finally{if(ht(this,S)&&ht(this,R)){const e=ht(this,R);let s;for(;s=null==e?void 0:e.shift();)null==(t=ht(this,a))||t.call(this,...s)}}}has(t,e={}){const{updateAgeOnHas:s=this.updateAgeOnHas,status:i}=e,r=ht(this,p).get(t);if(void 0!==r){const t=ht(this,E)[r];if(ut(this,Z,q).call(this,t)&&void 0===t.__staleWhileFetching)return!1;if(!ht(this,x).call(this,r))return s&&ht(this,b).call(this,r),i&&(i.has="hit",ht(this,P).call(this,i,r)),!0;i&&(i.has="stale",ht(this,P).call(this,i,r))}else i&&(i.has="miss");return!1}peek(t,e={}){const{allowStale:s=this.allowStale}=e,i=ht(this,p).get(t);if(void 0===i||!s&&ht(this,x).call(this,i))return;const r=ht(this,E)[i];return ut(this,Z,q).call(this,r)?r.__staleWhileFetching:r}async fetch(t,e={}){const{allowStale:s=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:n=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:o=0,sizeCalculation:h=this.sizeCalculation,noUpdateTTL:c=this.noUpdateTTL,noDeleteOnFetchRejection:l=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:u=this.allowStaleOnFetchRejection,ignoreFetchAbort:I=this.ignoreFetchAbort,allowStaleOnFetchAbort:y=this.allowStaleOnFetchAbort,context:T,forceRefresh:d=!1,status:N,signal:R}=e;if(!ht(this,A))return N&&(N.fetch="get"),this.get(t,{allowStale:s,updateAgeOnGet:i,noDeleteOnStaleGet:r,status:N});const f={allowStale:s,updateAgeOnGet:i,noDeleteOnStaleGet:r,ttl:n,noDisposeOnSet:a,size:o,sizeCalculation:h,noUpdateTTL:c,noDeleteOnFetchRejection:l,allowStaleOnFetchRejection:u,allowStaleOnFetchAbort:y,ignoreFetchAbort:I,status:N,signal:R};let O=ht(this,p).get(t);if(void 0===O){N&&(N.fetch="miss");const e=ut(this,X,K).call(this,t,O,f,T);return e.__returned=e}{const e=ht(this,E)[O];if(ut(this,Z,q).call(this,e)){const t=s&&void 0!==e.__staleWhileFetching;return N&&(N.fetch="inflight",t&&(N.returnedStale=!0)),t?e.__staleWhileFetching:e.__returned=e}const r=ht(this,x).call(this,O);if(!d&&!r)return N&&(N.fetch="hit"),ut(this,$,tt).call(this,O),i&&ht(this,b).call(this,O),N&&ht(this,P).call(this,N,O),e;const n=ut(this,X,K).call(this,t,O,f,T),a=void 0!==n.__staleWhileFetching&&s;return N&&(N.fetch=r?"stale":"refresh",a&&r&&(N.returnedStale=!0)),a?n.__staleWhileFetching:n.__returned=n}}async forceFetch(t,e={}){const s=await this.fetch(t,e);if(void 0===s)throw new Error("fetch() returned undefined");return s}memo(t,e={}){const s=ht(this,h);if(!s)throw new Error("no memoMethod provided to constructor");const{context:i,forceRefresh:r,...n}=e,a=this.get(t,n);if(!r&&void 0!==a)return a;const o=s(t,a,{options:n,context:i});return this.set(t,o,n),o}get(t,e={}){const{allowStale:s=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:n}=e,a=ht(this,p).get(t);if(void 0!==a){const e=ht(this,E)[a],o=ut(this,Z,q).call(this,e);return n&&ht(this,P).call(this,n,a),ht(this,x).call(this,a)?(n&&(n.get="stale"),o?(n&&s&&void 0!==e.__staleWhileFetching&&(n.returnedStale=!0),s?e.__staleWhileFetching:void 0):(r||ut(this,et,st).call(this,t,"expire"),n&&s&&(n.returnedStale=!0),s?e:void 0)):(n&&(n.get="hit"),o?e.__staleWhileFetching:(ut(this,$,tt).call(this,a),i&&ht(this,b).call(this,a),e))}n&&(n.get="miss")}delete(t){return ut(this,et,st).call(this,t,"delete")}clear(){return ut(this,it,rt).call(this,"delete")}};Y=Symbol.toStringTag,s=new WeakMap,i=new WeakMap,r=new WeakMap,n=new WeakMap,a=new WeakMap,o=new WeakMap,h=new WeakMap,c=new WeakMap,l=new WeakMap,p=new WeakMap,u=new WeakMap,E=new WeakMap,I=new WeakMap,y=new WeakMap,T=new WeakMap,d=new WeakMap,N=new WeakMap,R=new WeakMap,f=new WeakMap,O=new WeakMap,D=new WeakMap,m=new WeakMap,A=new WeakMap,S=new WeakMap,C=new WeakMap,v=new WeakSet,L=function(){const t=new Jp(ht(this,s)),e=new Jp(ht(this,s));lt(this,D,t),lt(this,O,e),lt(this,g,((s,i,r=Yp.now())=>{if(e[s]=0!==i?r:0,t[s]=i,0!==i&&this.ttlAutopurge){const t=setTimeout((()=>{ht(this,x).call(this,s)&&ut(this,et,st).call(this,ht(this,u)[s],"expire")}),i+1);t.unref&&t.unref()}})),lt(this,b,(s=>{e[s]=0!==t[s]?Yp.now():0})),lt(this,P,((s,n)=>{if(t[n]){const a=t[n],o=e[n];if(!a||!o)return;s.ttl=a,s.start=o,s.now=i||r();const h=s.now-o;s.remainingTTL=a-h}}));let i=0;const r=()=>{const t=Yp.now();if(this.ttlResolution>0){i=t;const e=setTimeout((()=>i=0),this.ttlResolution);e.unref&&e.unref()}return t};this.getRemainingTTL=s=>{const n=ht(this,p).get(s);if(void 0===n)return 0;const a=t[n],o=e[n];if(!a||!o)return 1/0;return a-((i||r())-o)},lt(this,x,(s=>{const n=e[s],a=t[s];return!!a&&!!n&&(i||r())-n>a}))},b=new WeakMap,P=new WeakMap,g=new WeakMap,x=new WeakMap,_=new WeakSet,M=function(){const t=new Jp(ht(this,s));lt(this,l,0),lt(this,f,t),lt(this,F,(e=>{lt(this,l,ht(this,l)-t[e]),t[e]=0})),lt(this,w,((t,e,s,i)=>{if(ut(this,Z,q).call(this,e))return 0;if(!qp(s)){if(!i)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if("function"!=typeof i)throw new TypeError("sizeCalculation must be a function");if(s=i(e,t),!qp(s))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return s})),lt(this,U,((e,s,r)=>{if(t[e]=s,ht(this,i)){const s=ht(this,i)-t[e];for(;ht(this,l)>s;)ut(this,z,k).call(this,!0)}lt(this,l,ht(this,l)+t[e]),r&&(r.entrySize=s,r.totalCalculatedSize=ht(this,l))}))},F=new WeakMap,U=new WeakMap,w=new WeakMap,G=new WeakSet,H=function*({allowStale:t=this.allowStale}={}){if(ht(this,c))for(let e=ht(this,d);ut(this,W,j).call(this,e)&&(!t&&ht(this,x).call(this,e)||(yield e),e!==ht(this,T));)e=ht(this,y)[e]},B=new WeakSet,V=function*({allowStale:t=this.allowStale}={}){if(ht(this,c))for(let e=ht(this,T);ut(this,W,j).call(this,e)&&(!t&&ht(this,x).call(this,e)||(yield e),e!==ht(this,d));)e=ht(this,I)[e]},W=new WeakSet,j=function(t){return void 0!==t&&ht(this,p).get(ht(this,u)[t])===t},z=new WeakSet,k=function(t){var e,s;const i=ht(this,T),n=ht(this,u)[i],a=ht(this,E)[i];return ht(this,A)&&ut(this,Z,q).call(this,a)?a.__abortController.abort(new Error("evicted")):(ht(this,m)||ht(this,S))&&(ht(this,m)&&(null==(e=ht(this,r))||e.call(this,a,n,"evict")),ht(this,S)&&(null==(s=ht(this,R))||s.push([a,n,"evict"]))),ht(this,F).call(this,i),t&&(ht(this,u)[i]=void 0,ht(this,E)[i]=void 0,ht(this,N).push(i)),1===ht(this,c)?(lt(this,T,lt(this,d,0)),ht(this,N).length=0):lt(this,T,ht(this,I)[i]),ht(this,p).delete(n),pt(this,c)._--,i},X=new WeakSet,K=function(t,e,s,i){const r=void 0===e?void 0:ht(this,E)[e];if(ut(this,Z,q).call(this,r))return r;const n=new Kp,{signal:a}=s;null==a||a.addEventListener("abort",(()=>n.abort(a.reason)),{signal:n.signal});const h={signal:n.signal,options:s,context:i},c=(i,r=!1)=>{const{aborted:a}=n.signal,o=s.ignoreFetchAbort&&void 0!==i;if(s.status&&(a&&!r?(s.status.fetchAborted=!0,s.status.fetchError=n.signal.reason,o&&(s.status.fetchAbortIgnored=!0)):s.status.fetchResolved=!0),a&&!o&&!r)return l(n.signal.reason);const c=u;return ht(this,E)[e]===u&&(void 0===i?c.__staleWhileFetching?ht(this,E)[e]=c.__staleWhileFetching:ut(this,et,st).call(this,t,"fetch"):(s.status&&(s.status.fetchUpdated=!0),this.set(t,i,h.options))),i},l=i=>{const{aborted:r}=n.signal,a=r&&s.allowStaleOnFetchAbort,o=a||s.allowStaleOnFetchRejection,h=o||s.noDeleteOnFetchRejection,c=u;if(ht(this,E)[e]===u){!h||void 0===c.__staleWhileFetching?ut(this,et,st).call(this,t,"fetch"):a||(ht(this,E)[e]=c.__staleWhileFetching)}if(o)return s.status&&void 0!==c.__staleWhileFetching&&(s.status.returnedStale=!0),c.__staleWhileFetching;if(c.__returned===c)throw i};s.status&&(s.status.fetchDispatched=!0);const u=new Promise(((e,i)=>{var a;const l=null==(a=ht(this,o))?void 0:a.call(this,t,r,h);l&&l instanceof Promise&&l.then((t=>e(void 0===t?void 0:t)),i),n.signal.addEventListener("abort",(()=>{s.ignoreFetchAbort&&!s.allowStaleOnFetchAbort||(e(void 0),s.allowStaleOnFetchAbort&&(e=t=>c(t,!0)))}))})).then(c,(t=>(s.status&&(s.status.fetchRejected=!0,s.status.fetchError=t),l(t)))),I=Object.assign(u,{__abortController:n,__staleWhileFetching:r,__returned:void 0});return void 0===e?(this.set(t,I,{...h.options,status:void 0}),e=ht(this,p).get(t)):ht(this,E)[e]=I,I},Z=new WeakSet,q=function(t){if(!ht(this,A))return!1;const e=t;return!!e&&e instanceof Promise&&e.hasOwnProperty("__staleWhileFetching")&&e.__abortController instanceof Kp},Q=new WeakSet,J=function(t,e){ht(this,y)[e]=t,ht(this,I)[t]=e},$=new WeakSet,tt=function(t){t!==ht(this,d)&&(t===ht(this,T)?lt(this,T,ht(this,I)[t]):ut(this,Q,J).call(this,ht(this,y)[t],ht(this,I)[t]),ut(this,Q,J).call(this,ht(this,d),t),lt(this,d,t))},et=new WeakSet,st=function(t,e){var s,i,n,o;let h=!1;if(0!==ht(this,c)){const n=ht(this,p).get(t);if(void 0!==n)if(h=!0,1===ht(this,c))ut(this,it,rt).call(this,e);else{ht(this,F).call(this,n);const a=ht(this,E)[n];if(ut(this,Z,q).call(this,a)?a.__abortController.abort(new Error("deleted")):(ht(this,m)||ht(this,S))&&(ht(this,m)&&(null==(s=ht(this,r))||s.call(this,a,t,e)),ht(this,S)&&(null==(i=ht(this,R))||i.push([a,t,e]))),ht(this,p).delete(t),ht(this,u)[n]=void 0,ht(this,E)[n]=void 0,n===ht(this,d))lt(this,d,ht(this,y)[n]);else if(n===ht(this,T))lt(this,T,ht(this,I)[n]);else{const t=ht(this,y)[n];ht(this,I)[t]=ht(this,I)[n];const e=ht(this,I)[n];ht(this,y)[e]=ht(this,y)[n]}pt(this,c)._--,ht(this,N).push(n)}}if(ht(this,S)&&(null==(n=ht(this,R))?void 0:n.length)){const t=ht(this,R);let e;for(;e=null==t?void 0:t.shift();)null==(o=ht(this,a))||o.call(this,...e)}return h},it=new WeakSet,rt=function(t){var e,s,i;for(const i of ut(this,B,V).call(this,{allowStale:!0})){const n=ht(this,E)[i];if(ut(this,Z,q).call(this,n))n.__abortController.abort(new Error("deleted"));else{const a=ht(this,u)[i];ht(this,m)&&(null==(e=ht(this,r))||e.call(this,n,a,t)),ht(this,S)&&(null==(s=ht(this,R))||s.push([n,a,t]))}}if(ht(this,p).clear(),ht(this,E).fill(void 0),ht(this,u).fill(void 0),ht(this,D)&&ht(this,O)&&(ht(this,D).fill(0),ht(this,O).fill(0)),ht(this,f)&&ht(this,f).fill(0),lt(this,T,0),lt(this,d,0),ht(this,N).length=0,lt(this,l,0),lt(this,c,0),ht(this,S)&&ht(this,R)){const t=ht(this,R);let e;for(;e=null==t?void 0:t.shift();)null==(i=ht(this,a))||i.call(this,...e)}};let su=eu;const iu=class{static get(t){return this._meshes.get(t)}static lockIn(t){Object.seal(t)}static add(t,e){this._meshes.set(t,e)}static delete(t){for(const e of t)this._meshes.delete(e)}static setCapacity(t){t!==this._capacity&&(this._meshes.clear(),this._meshes=this.setupMeshes(t),this._capacity=t)}static setupMeshes(t){const e=Math.max(t??this.computeCapacity(),1),s=this.getSizeCalculationEvent();return new su({maxSize:e,sizeCalculation:s})}static computeCapacity(){const t=globalThis.navigator&&"deviceMemory"in globalThis.navigator?globalThis.navigator.deviceMemory:null,e=null!==t?t:2,s=this.oneHundredMb*e;return Math.trunc(s)}static getDataSetMemory(t){let e=0;for(const s of t)e+=s.usedMemory;return Math.max(e,1)}static getSizeCalculationEvent(){return t=>Array.isArray(t)?this.getDataSetMemory(t):Math.max(t.usedMemory,1)}};at(iu,"oneHundredMb",1e8),at(iu,"_meshes",iu.setupMeshes()),at(iu,"_capacity"),at(iu,"_memoryAttributes",["positionBuffer","indexBuffer","normalBuffer"]),at(iu,"updateMeshMemory",(t=>{t.usedMemory=0;for(const e of iu._memoryAttributes)void 0!==t.usedMemory&&t[e]&&(t.usedMemory+=t[e].byteLength);iu.lockIn(t)}));let ru=iu;const nu=class t{constructor(t){at(this,"meshes"),at(this,"tilesUpdated",!1),at(this,"_sampleAmount"),at(this,"_tileDimension"),at(this,"_tileBySample"),at(this,"_lodBySample"),at(this,"_virtualMeshes",new Map),at(this,"_meshConnection"),at(this,"_samples"),at(this,"_tileIdGenerator",new _l),at(this,"_tiles",new Map),at(this,"_tilesChanged",new Set),at(this,"_sizeByTile",new Map),at(this,"_samplesDimensions"),at(this,"_sampleLodClass"),at(this,"_sampleLodState"),at(this,"_sampleLodSize"),at(this,"_boxes"),at(this,"_items"),at(this,"_materials"),at(this,"_modelId"),at(this,"_lastView",{rotation:new $t,location:new $t}),at(this,"_params",{updateTime:16,updateSamples:64,updateviewOrientation:8*Math.PI/180,updateViewPosition:256,smallTileSize:.32,mediumTileSize:4,smallObjectSize:2,smallScreenSize:2,mediumScreenSize:4,largeScreenSize:16,tempTileDataSize:6,tileIdIncrement:1,tileSizeMultiplier:10,minTileDimension:32,tileDimensionFactor:8}),at(this,"_temp",{sample:new Nl,representation:new dl,vector:new $t,matrix:new be,transform:new be,boundingBox:new se,sampleGeometry:{},box:new se,raycastPoints:[],tileData:{positionCount:this._params.tempTileDataSize,objectClass:Oi.LINE,positionBuffer:new Float32Array(this._params.tempTileDataSize)},tileCenter:new $t,tile:{objectClass:Oi.LINE,positionCount:6},viewDimension:0,pastFieldOfview:0}),at(this,"_currentSample",0),at(this,"_virtualPlanes",[]),at(this,"_changedSamples",0),at(this,"_virtualView"),at(this,"_lodMode",bi.DEFAULT),this._modelId=t.modelId,this._boxes=t.boxes,this._items=t.items,this._materials=t.materials,this._meshConnection=new Wp(t.modelId,t.connection),this.meshes=t.model.meshes(),this._sampleAmount=this.meshes.samplesLength(),this._samples=new Vp(this._sampleAmount),this._samplesDimensions=new Int32Array(this._sampleAmount),this._sampleLodClass=new Uint8Array(this._sampleAmount),this._sampleLodState=new Uint8Array(this._sampleAmount),this._sampleLodSize=new Float32Array(this._sampleAmount),this._tileDimension=this.computeTileSize(),this._tileBySample=new Array(this._sampleAmount),this._lodBySample=new Array(this._sampleAmount),this.init()}restart(){this.resetUpdateProcess(),this._meshConnection.clean()}fetchSample(t,e){this.fetchSampleAndRepresentation(t);const s=this.fetchCurrentMesh(),i=this.sampleTemplate(t);return i.geometries=this.sampleGeoms(i,e,s),i}fetchGeometry(t){this.meshes.representations(t,this._temp.representation);return this.fetchCurrentMesh().fetchMeshes(t,!0)}dispose(){this._meshConnection.dispose();for(const[,t]of this._virtualMeshes)t.dispose()}generate(){for(const[,t]of this._virtualMeshes)t.setupTemplates();for(let t=0;t=this._sampleAmount&&t&&(this._meshConnection.process({tileRequestClass:Di.FINISH,modelId:this._modelId}),this.tilesUpdated=!0)}updatePositionIfNeeded(){const t=this._params.updateViewPosition,e=this._virtualView.cameraPosition;e.distanceToSquared(this._lastView.location)>t&&(this._currentSample=0,this._lastView.location.copy(e))}updateCurrentSample(){this._currentSample++,this._currentSample>=this._sampleAmount&&(this._currentSample=0),this._changedSamples++}processSamplesDimension(){for(let t=0;tthis._boxes.dimensionOf(e)-this._boxes.dimensionOf(t)))}setupViewPlanes(){this._virtualPlanes=[];for(const t of this._virtualView.cameraFrustum.planes)this._virtualPlanes.push(t);if(this._virtualView.clippingPlanes)for(const t of this._virtualView.clippingPlanes)this._virtualPlanes.push(t)}updateOrientationIfNeeded(){const t=this.getCurrentViewOrientation(),e=this._params.updateviewOrientation;t.angleTo(this._lastView.rotation)>e&&(this._currentSample=0,this._lastView.rotation.copy(t))}getCurrentViewOrientation(){return this._virtualView.cameraFrustum.planes[4].normal}resetUpdateProcess(){this._changedSamples=0,this.tilesUpdated=!1}manageRaycast(t,e,s,i,r){const n=jp.cast(t,e,s,i,r);if(n)for(const e of n)e.representationClass=t.getObjectClass(),this._temp.raycastPoints.push(e)}setTileShellBuffer(t){void 0!==t.usedMemory&&t.objectClass===Oi.SHELL&&(t.ids=new Float32Array(t.positionCount/3),t.usedMemory+=t.ids.byteLength)}getTileWhenSamplePut(t,e,s){let i=this._tiles.get(t);if(void 0===i){const r=e.lod||mi.GEOMETRY;i=this.newTile(e.objectClass,s,r),this._tiles.set(t,i)}return i}getPerspTrueDim(t,e){const s=Math.PI/180;return e*Math.tan(.5*t*s)}getTileHighlight(t,e){let s,i;const r=t.highlights;if(!r)return{highlightData:void 0,highlightIds:void 0};const n=r.size((t=>0!==t));if(n>0){i=new Uint16Array(n);const t=t=>0!==t,a=(t,e)=>i[t]=e;s=Fl.get(r,e,t,a)}return{highlightData:s,highlightIds:i}}setupTileSampleAttributes(t,e,s,i){const r=3*t.vertexLocation[e];for(let e=0;et))}memoryOverflow(){return t._graphicMemoryConsumed>this._virtualView.graphicThreshold}updateMesh(t){let e=this.fetchLodLevel(t);const s=this._sampleLodState[t];e=this.hideHighlightedLods(e,t),e!==s?this.updateVisible(s,e,t):this.updateSampleIfSeen(e,t)}tileLoadSample(t,e,s){const i=t.sampleLocation.get(e.sample),r=this.getSampleGeometries(e,s);this.setupTileLocation(t,r,e),this.fetchSampleTransform(t,e),this.setupTileSampleAttributes(t,i,r,e)}updateSampleIfSeen(t,e){t!==mi.INVISIBLE&&this.updateSample(e,t)}hideHighlightedLods(t,e){return t===mi.WIRES&&this._samples.getHighlight(e)&&(t=mi.INVISIBLE),t}updateVisible(t,e,s){t!==mi.INVISIBLE&&this.makeSampleInvisible(s,t);const i=e!==mi.INVISIBLE;i&&this.updateSample(s,e),this._samples.setVisible(s,i),this._sampleLodState[s]=e}makeInvisibleFromTile(t,e){const s=this._tiles.get(t);this.updateTileData(s,e,!1,0),this.deleteTileIfNeeded(s,t)}updateSample(t,e){const s=this.itemId(t),i=this._items.visible(s),r=this._items.getHighlight(s);this.hasChanged(t,e,i,r)&&this.setSample(t,i,r,e)}hasHighlightChanged(t,e){return e!==this._samples.getHighlight(t)}hasVisibleChanged(t,e){return e!==this._samples.visible(t)}newTile(t,e,s){const i={notVirtual:!1};return i.materialId=e,i.indexLocation=[],i.box=new se,i.objectClass=t,i.lod=s,i.normalCount=0,i.indexCount=0,i.vertexLocation=[],i.size=0,i.geometriesLocation=[],i.positionCount=0,i.sampleLocation=new Map,i.faceIdBuffer=new Uint32Array(0),i}createLod(t){const e=Bl.boxSize(t),s=this._temp.tileData.positionBuffer;if(!s)throw new Error("Fragments: Malformed tiles!");return s[0]=e.start.x,s[1]=e.start.y,s[2]=e.start.z,s[3]=e.end.x,s[4]=e.end.y,s[5]=e.end.z,this._temp.tileData}sampleTemplate(t){const e=this._temp.sample,s=this._temp.representation;Bl.get(e,this.meshes,this._temp.transform),Bl.getBox(s,this._temp.boundingBox),this._temp.sampleGeometry.sample=t;const i=e.material();return this._temp.sampleGeometry.material=this._materials[i],this._temp.sampleGeometry.transform=this._temp.transform,this._temp.sampleGeometry.aabb=this._temp.boundingBox,delete this._temp.sampleGeometry.geometries,this._temp.sampleGeometry}makeSampleInvisible(t,e){const s=this.getTileIds(t,e);if(!s)return;Ul.forEach(s,(e=>this.makeInvisibleFromTile(e,t)))}setSample(t,e,s,i){this._samples.setVisible(t,e),this._samples.setHighlight(t,s);const r=this.getTileIds(t,i);void 0!==r&&Ul.forEach(r,(e=>{this.updateTile(e,t,s,0===s)}))}getTileIds(t,e){return e===mi.GEOMETRY?this._tileBySample[t]:this._lodBySample[t]}addBasicTileData(t,e,s){t.sampleLocation.set(e,t.size),t.size++,t.geometriesLocation.push(s),t.indexLocation.push(t.indexCount||0),t.vertexLocation.push((t.positionCount||0)/3)}buildNewVirtualTile(t,e){this.constructTile(t),this.loadTile(e,t),t.notVirtual=!0,delete t.indexBuffer,delete t.positionBuffer,delete t.normalBuffer,delete t.faceIdBuffer,delete t.ids}deleteTileIfNeeded(e,s){if(this.getShouldDeleteTile(e))return this.deleteGeometry(s),e.notVirtual=!1,void(t._graphicMemoryConsumed-=e.usedMemory);this._tilesChanged.add(s)}getShouldDeleteTile(t){if(!t.visibilities||!t.highlights)throw new Error("Fragments: Malformed tile!");const e=t.visibilities.fullOf(!1),s=t.highlights.fullOf(0),i=this.memoryOverflow();return e&&s&&i}checkTileMemoryOverflow(t,e){const s=this._tiles.get(t);return(s?s.positionCount:0)+e.positionCount>fi}updateTileData(t,e,s,i){if(!t.visibilities||!t.highlights)throw new Error("Fragments: Malformed tile!");const r=t.sampleLocation.get(e);t.visibilities.update(r,s),t.highlights.update(r,i)}getKeepUpdating(t,e){const s=this._params.updateTime,i=this._params.updateSamples,r=tfi&&console.log("Fragments: Buffer overflow")}fetchLodLevel(t){if(this._lodMode===bi.ALL_VISIBLE)return mi.GEOMETRY;const e=this._boxes.get(t);if(!Pc.collides(e,this._virtualPlanes))return mi.INVISIBLE;this.meshes.samples(t,this._temp.sample);const s=this._temp.sample.item();if(!this._items.visible(s))return mi.INVISIBLE;const i=this._virtualView.graphicQuality,r=this._boxes.dimensionOf(t),n=e.distanceToPoint(this._virtualView.cameraPosition),a=this.screenSize(r,n),o=r{const n=this.newTileId(t,e,s);i=this.getTileIdsWhenSamplePut(i,n);const a=this.getTileWhenSamplePut(n,s,e);this.tileAppend(a,s,t,r)})),i}hasLodChanged(t,e){return e!==this._sampleLodState[t]}getTileIdsWhenSamplePut(t,e){return void 0===t?t=e:"number"==typeof t?t!==e&&(t=[t,e]):t.includes(e)||t.push(e),t}updateTile(t,e,s,i){const r=this._tiles.get(t);this.updateTileData(r,e,i,s),r.notVirtual?this._tilesChanged.add(t):this.buildNewVirtualTile(r,t)}getLodTileWhenPutSample(t,e){let s=this._tiles.get(t);if(!s){const i=this._temp.tile.objectClass;s=this.newTile(i,e,mi.WIRES),this._tiles.set(t,s)}return s}lodTileAppendSample(t,e){const s=mi.WIRES,i=this._temp.tile,r=this.generateTileCode(t,e,i,s),n=this.getLodTileWhenPutSample(r,e);return this.tileAppend(n,i,t,0),r}addSampleToTile(t,e,s){const i=this.meshData(t,!1,mi.GEOMETRY);this._tileBySample[e]=this.putSampleInTiles(e,s,i)}setTileBuffer(t,e,s){if(void 0===t.usedMemory)return;const i=t[`${e}Count`];if(i>0){const r=s?new Uint16Array(i):new Int16Array(i);t[`${e}Buffer`]=r,t.usedMemory+=r.byteLength}}updateTiles(t){const e=this._changedSamplesthis._params.mediumTileSize?2:e>s?1:0}getViewDimension(t){if(this._virtualView.orthogonalDimension)return this._virtualView.orthogonalDimension;const e=this._virtualView.fov;return e!==this._temp.pastFieldOfview&&(this._temp.viewDimension=this.getPerspTrueDim(e,1),this._temp.pastFieldOfview=e),t*this._temp.viewDimension}loadTile(t,e){const s=this.getTileData(e);this.fetchTileMatrixOnLoad(e);const i=this.getFaceIds(e);this._meshConnection.process({tileRequestClass:Di.CREATE,modelId:this._modelId,objectClass:e.objectClass,tileId:t,itemId:void 0,tileData:s,indices:e.indexBuffer,positions:e.positionBuffer,normals:e.normalBuffer,faceIds:i,itemIds:e.ids,material:e.materialId,matrix:this._temp.matrix.clone(),aabb:e.box.clone(),currentLod:e.lod}),this.updateMemoryOnTileLoad(e)}getFaceIds(t){const e=new Os,s=t.faceIdBuffer,i=new Float32Array(3*s.length);for(let t=0;t(t[t.CREATE_MATERIAL=0]="CREATE_MATERIAL",t[t.CREATE_REPRESENTATION=1]="CREATE_REPRESENTATION",t[t.CREATE_SAMPLE=2]="CREATE_SAMPLE",t[t.CREATE_GLOBAL_TRANSFORM=3]="CREATE_GLOBAL_TRANSFORM",t[t.CREATE_LOCAL_TRANSFORM=4]="CREATE_LOCAL_TRANSFORM",t[t.CREATE_ITEM=5]="CREATE_ITEM",t[t.CREATE_RELATION=6]="CREATE_RELATION",t[t.UPDATE_MATERIAL=7]="UPDATE_MATERIAL",t[t.UPDATE_REPRESENTATION=8]="UPDATE_REPRESENTATION",t[t.UPDATE_SAMPLE=9]="UPDATE_SAMPLE",t[t.UPDATE_GLOBAL_TRANSFORM=10]="UPDATE_GLOBAL_TRANSFORM",t[t.UPDATE_LOCAL_TRANSFORM=11]="UPDATE_LOCAL_TRANSFORM",t[t.UPDATE_ITEM=12]="UPDATE_ITEM",t[t.UPDATE_MAX_LOCAL_ID=13]="UPDATE_MAX_LOCAL_ID",t[t.UPDATE_RELATION=14]="UPDATE_RELATION",t[t.UPDATE_METADATA=15]="UPDATE_METADATA",t[t.UPDATE_SPATIAL_STRUCTURE=16]="UPDATE_SPATIAL_STRUCTURE",t[t.DELETE_MATERIAL=17]="DELETE_MATERIAL",t[t.DELETE_REPRESENTATION=18]="DELETE_REPRESENTATION",t[t.DELETE_SAMPLE=19]="DELETE_SAMPLE",t[t.DELETE_GLOBAL_TRANSFORM=20]="DELETE_GLOBAL_TRANSFORM",t[t.DELETE_LOCAL_TRANSFORM=21]="DELETE_LOCAL_TRANSFORM",t[t.DELETE_ITEM=22]="DELETE_ITEM",t[t.DELETE_RELATION=23]="DELETE_RELATION",t))(cu||{});function lu(t,e){const s=t.position,i=t.xDirection,r=t.yDirection;return ml.createTransform(e,s[0],s[1],s[2],i[0],i[1],i[2],r[0],r[1],r[2])}function pu(t,e){const s=e.position(),i=e.xDirection(),r=e.yDirection();return ml.createTransform(t,s.x(),s.y(),s.z(),i.x(),i.y(),i.z(),r.x(),r.y(),r.z())}function uu(t,e){return nl.createFloatVector(t,e.x(),e.y(),e.z())}function Eu(t,e){const s=e.type,i=[],r=[],n=[],a=[],o=e.points.length;Dl.startPointsVector(t,o);for(let s=0;s{const e=[];for(const s in t.data){const i=t.data[s].filter((t=>!K.has(t)));if(!i.length)continue;const r=Yt.createSharedString(JSON.stringify([s,...i]));e.push(r)}const s=Sl.createDataVector(Yt,e),i=Sl.createRelation(Yt,s);xe.push(i)};for(let e=0;e=0;e--){const i=t[e];if(i.type===s)return JSON.parse(JSON.stringify(i.data))}return null})),at(xu,"applyChangesToIds",(function(t,e,s,i){const r=new Set(e),n=cu[`DELETE_${s}`],a=cu[`CREATE_${s}`];if(t){for(const e of t)e.type!==n?i&&e.type===a&&r.add(e.localId):r.delete(e.localId);return Array.from(r)}return e})),at(xu,"getModelFromBuffer",(function(t,e){const s=new so(e?t:Ka.inflate(t));return vl.getRootAsModel(s)})),at(xu,"getSampleData",mu),at(xu,"getTransformData",Au),at(xu,"getRelationData",(function(t){const e={data:{}},s=t.dataLength();for(let i=0;iBu(t,e))),e.typecode?Hu[t][e.typecode](e.value):e.value}if(Hu[0]={3699917729:t=>new _u.IfcAbsorbedDoseMeasure(t),4182062534:t=>new _u.IfcAccelerationMeasure(t),360377573:t=>new _u.IfcAmountOfSubstanceMeasure(t),632304761:t=>new _u.IfcAngularVelocityMeasure(t),2650437152:t=>new _u.IfcAreaMeasure(t),2735952531:t=>new _u.IfcBoolean(t),1867003952:t=>new _u.IfcBoxAlignment(t),2991860651:t=>new _u.IfcComplexNumber(t.map((t=>t.value))),3812528620:t=>new _u.IfcCompoundPlaneAngleMeasure(t.map((t=>t.value))),3238673880:t=>new _u.IfcContextDependentMeasure(t),1778710042:t=>new _u.IfcCountMeasure(t),94842927:t=>new _u.IfcCurvatureMeasure(t),86635668:t=>new _u.IfcDayInMonthNumber(t),300323983:t=>new _u.IfcDaylightSavingHour(t),1514641115:t=>new _u.IfcDescriptiveMeasure(t),4134073009:t=>new _u.IfcDimensionCount(t),524656162:t=>new _u.IfcDoseEquivalentMeasure(t),69416015:t=>new _u.IfcDynamicViscosityMeasure(t),1827137117:t=>new _u.IfcElectricCapacitanceMeasure(t),3818826038:t=>new _u.IfcElectricChargeMeasure(t),2093906313:t=>new _u.IfcElectricConductanceMeasure(t),3790457270:t=>new _u.IfcElectricCurrentMeasure(t),2951915441:t=>new _u.IfcElectricResistanceMeasure(t),2506197118:t=>new _u.IfcElectricVoltageMeasure(t),2078135608:t=>new _u.IfcEnergyMeasure(t),1102727119:t=>new _u.IfcFontStyle(t),2715512545:t=>new _u.IfcFontVariant(t),2590844177:t=>new _u.IfcFontWeight(t),1361398929:t=>new _u.IfcForceMeasure(t),3044325142:t=>new _u.IfcFrequencyMeasure(t),3064340077:t=>new _u.IfcGloballyUniqueId(t),3113092358:t=>new _u.IfcHeatFluxDensityMeasure(t),1158859006:t=>new _u.IfcHeatingValueMeasure(t),2589826445:t=>new _u.IfcHourInDay(t),983778844:t=>new _u.IfcIdentifier(t),3358199106:t=>new _u.IfcIlluminanceMeasure(t),2679005408:t=>new _u.IfcInductanceMeasure(t),1939436016:t=>new _u.IfcInteger(t),3809634241:t=>new _u.IfcIntegerCountRateMeasure(t),3686016028:t=>new _u.IfcIonConcentrationMeasure(t),3192672207:t=>new _u.IfcIsothermalMoistureCapacityMeasure(t),2054016361:t=>new _u.IfcKinematicViscosityMeasure(t),3258342251:t=>new _u.IfcLabel(t),1243674935:t=>new _u.IfcLengthMeasure(t),191860431:t=>new _u.IfcLinearForceMeasure(t),2128979029:t=>new _u.IfcLinearMomentMeasure(t),1307019551:t=>new _u.IfcLinearStiffnessMeasure(t),3086160713:t=>new _u.IfcLinearVelocityMeasure(t),503418787:t=>new _u.IfcLogical(t),2095003142:t=>new _u.IfcLuminousFluxMeasure(t),2755797622:t=>new _u.IfcLuminousIntensityDistributionMeasure(t),151039812:t=>new _u.IfcLuminousIntensityMeasure(t),286949696:t=>new _u.IfcMagneticFluxDensityMeasure(t),2486716878:t=>new _u.IfcMagneticFluxMeasure(t),1477762836:t=>new _u.IfcMassDensityMeasure(t),4017473158:t=>new _u.IfcMassFlowRateMeasure(t),3124614049:t=>new _u.IfcMassMeasure(t),3531705166:t=>new _u.IfcMassPerLengthMeasure(t),102610177:t=>new _u.IfcMinuteInHour(t),3341486342:t=>new _u.IfcModulusOfElasticityMeasure(t),2173214787:t=>new _u.IfcModulusOfLinearSubgradeReactionMeasure(t),1052454078:t=>new _u.IfcModulusOfRotationalSubgradeReactionMeasure(t),1753493141:t=>new _u.IfcModulusOfSubgradeReactionMeasure(t),3177669450:t=>new _u.IfcMoistureDiffusivityMeasure(t),1648970520:t=>new _u.IfcMolecularWeightMeasure(t),3114022597:t=>new _u.IfcMomentOfInertiaMeasure(t),2615040989:t=>new _u.IfcMonetaryMeasure(t),765770214:t=>new _u.IfcMonthInYearNumber(t),2095195183:t=>new _u.IfcNormalisedRatioMeasure(t),2395907400:t=>new _u.IfcNumericMeasure(t),929793134:t=>new _u.IfcPHMeasure(t),2260317790:t=>new _u.IfcParameterValue(t),2642773653:t=>new _u.IfcPlanarForceMeasure(t),4042175685:t=>new _u.IfcPlaneAngleMeasure(t),2815919920:t=>new _u.IfcPositiveLengthMeasure(t),3054510233:t=>new _u.IfcPositivePlaneAngleMeasure(t),1245737093:t=>new _u.IfcPositiveRatioMeasure(t),1364037233:t=>new _u.IfcPowerMeasure(t),2169031380:t=>new _u.IfcPresentableText(t),3665567075:t=>new _u.IfcPressureMeasure(t),3972513137:t=>new _u.IfcRadioActivityMeasure(t),96294661:t=>new _u.IfcRatioMeasure(t),200335297:t=>new _u.IfcReal(t),2133746277:t=>new _u.IfcRotationalFrequencyMeasure(t),1755127002:t=>new _u.IfcRotationalMassMeasure(t),3211557302:t=>new _u.IfcRotationalStiffnessMeasure(t),2766185779:t=>new _u.IfcSecondInMinute(t),3467162246:t=>new _u.IfcSectionModulusMeasure(t),2190458107:t=>new _u.IfcSectionalAreaIntegralMeasure(t),408310005:t=>new _u.IfcShearModulusMeasure(t),3471399674:t=>new _u.IfcSolidAngleMeasure(t),846465480:t=>new _u.IfcSoundPowerMeasure(t),993287707:t=>new _u.IfcSoundPressureMeasure(t),3477203348:t=>new _u.IfcSpecificHeatCapacityMeasure(t),2757832317:t=>new _u.IfcSpecularExponent(t),361837227:t=>new _u.IfcSpecularRoughness(t),58845555:t=>new _u.IfcTemperatureGradientMeasure(t),2801250643:t=>new _u.IfcText(t),1460886941:t=>new _u.IfcTextAlignment(t),3490877962:t=>new _u.IfcTextDecoration(t),603696268:t=>new _u.IfcTextFontName(t),296282323:t=>new _u.IfcTextTransformation(t),232962298:t=>new _u.IfcThermalAdmittanceMeasure(t),2645777649:t=>new _u.IfcThermalConductivityMeasure(t),2281867870:t=>new _u.IfcThermalExpansionCoefficientMeasure(t),857959152:t=>new _u.IfcThermalResistanceMeasure(t),2016195849:t=>new _u.IfcThermalTransmittanceMeasure(t),743184107:t=>new _u.IfcThermodynamicTemperatureMeasure(t),2726807636:t=>new _u.IfcTimeMeasure(t),2591213694:t=>new _u.IfcTimeStamp(t),1278329552:t=>new _u.IfcTorqueMeasure(t),3345633955:t=>new _u.IfcVaporPermeabilityMeasure(t),3458127941:t=>new _u.IfcVolumeMeasure(t),2593997549:t=>new _u.IfcVolumetricFlowRateMeasure(t),51269191:t=>new _u.IfcWarpingConstantMeasure(t),1718600412:t=>new _u.IfcWarpingMomentMeasure(t),4065007721:t=>new _u.IfcYearNumber(t)},(t=>{t.IfcAbsorbedDoseMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCABSORBEDDOSEMEASURE"}};t.IfcAccelerationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCACCELERATIONMEASURE"}};t.IfcAmountOfSubstanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAMOUNTOFSUBSTANCEMEASURE"}};t.IfcAngularVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCANGULARVELOCITYMEASURE"}};t.IfcAreaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAREAMEASURE"}};t.IfcBoolean=class{constructor(t){this.type=3,this.name="IFCBOOLEAN",this.value=t}};t.IfcBoxAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCBOXALIGNMENT"}};t.IfcComplexNumber=class{constructor(t){this.value=t,this.type=4}};t.IfcCompoundPlaneAngleMeasure=class{constructor(t){this.value=t,this.type=10}};t.IfcContextDependentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCONTEXTDEPENDENTMEASURE"}};t.IfcCountMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCOUNTMEASURE"}};t.IfcCurvatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCURVATUREMEASURE"}};t.IfcDayInMonthNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINMONTHNUMBER"}};t.IfcDaylightSavingHour=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYLIGHTSAVINGHOUR"}};t.IfcDescriptiveMeasure=class{constructor(t){this.value=t,this.type=1,this.name="IFCDESCRIPTIVEMEASURE"}};class e extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDIMENSIONCOUNT"}}t.IfcDimensionCount=e;t.IfcDoseEquivalentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDOSEEQUIVALENTMEASURE"}};t.IfcDynamicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDYNAMICVISCOSITYMEASURE"}};t.IfcElectricCapacitanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCAPACITANCEMEASURE"}};t.IfcElectricChargeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCHARGEMEASURE"}};t.IfcElectricConductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCONDUCTANCEMEASURE"}};t.IfcElectricCurrentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCURRENTMEASURE"}};t.IfcElectricResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICRESISTANCEMEASURE"}};t.IfcElectricVoltageMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICVOLTAGEMEASURE"}};t.IfcEnergyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCENERGYMEASURE"}};t.IfcFontStyle=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTSTYLE"}};t.IfcFontVariant=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTVARIANT"}};t.IfcFontWeight=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTWEIGHT"}};t.IfcForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFORCEMEASURE"}};t.IfcFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFREQUENCYMEASURE"}};t.IfcGloballyUniqueId=class{constructor(t){this.value=t,this.type=1,this.name="IFCGLOBALLYUNIQUEID"}};t.IfcHeatFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATFLUXDENSITYMEASURE"}};t.IfcHeatingValueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATINGVALUEMEASURE"}};t.IfcHourInDay=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCHOURINDAY"}};t.IfcIdentifier=class{constructor(t){this.value=t,this.type=1,this.name="IFCIDENTIFIER"}};t.IfcIlluminanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCILLUMINANCEMEASURE"}};t.IfcInductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCINDUCTANCEMEASURE"}};t.IfcInteger=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGER"}};t.IfcIntegerCountRateMeasure=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGERCOUNTRATEMEASURE"}};t.IfcIonConcentrationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCIONCONCENTRATIONMEASURE"}};t.IfcIsothermalMoistureCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCISOTHERMALMOISTURECAPACITYMEASURE"}};t.IfcKinematicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCKINEMATICVISCOSITYMEASURE"}};t.IfcLabel=class{constructor(t){this.value=t,this.type=1,this.name="IFCLABEL"}};t.IfcLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLENGTHMEASURE"}};t.IfcLinearForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARFORCEMEASURE"}};t.IfcLinearMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARMOMENTMEASURE"}};t.IfcLinearStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARSTIFFNESSMEASURE"}};t.IfcLinearVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARVELOCITYMEASURE"}};t.IfcLogical=class{constructor(t){this.type=3,this.name="IFCLOGICAL",this.value=t}};t.IfcLuminousFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSFLUXMEASURE"}};t.IfcLuminousIntensityDistributionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE"}};t.IfcLuminousIntensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYMEASURE"}};t.IfcMagneticFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXDENSITYMEASURE"}};t.IfcMagneticFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXMEASURE"}};t.IfcMassDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSDENSITYMEASURE"}};t.IfcMassFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSFLOWRATEMEASURE"}};t.IfcMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSMEASURE"}};t.IfcMassPerLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSPERLENGTHMEASURE"}};t.IfcMinuteInHour=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCMINUTEINHOUR"}};t.IfcModulusOfElasticityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFELASTICITYMEASURE"}};t.IfcModulusOfLinearSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfRotationalSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFSUBGRADEREACTIONMEASURE"}};t.IfcMoistureDiffusivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOISTUREDIFFUSIVITYMEASURE"}};t.IfcMolecularWeightMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOLECULARWEIGHTMEASURE"}};t.IfcMomentOfInertiaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOMENTOFINERTIAMEASURE"}};t.IfcMonetaryMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMONETARYMEASURE"}};t.IfcMonthInYearNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCMONTHINYEARNUMBER"}};t.IfcNormalisedRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNORMALISEDRATIOMEASURE"}};t.IfcNumericMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNUMERICMEASURE"}};t.IfcPHMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPHMEASURE"}};t.IfcParameterValue=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPARAMETERVALUE"}};t.IfcPlanarForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANARFORCEMEASURE"}};t.IfcPlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANEANGLEMEASURE"}};t.IfcPositiveLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVELENGTHMEASURE"}};t.IfcPositivePlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVEPLANEANGLEMEASURE"}};t.IfcPositiveRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVERATIOMEASURE"}};t.IfcPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOWERMEASURE"}};t.IfcPresentableText=class{constructor(t){this.value=t,this.type=1,this.name="IFCPRESENTABLETEXT"}};t.IfcPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPRESSUREMEASURE"}};t.IfcRadioActivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRADIOACTIVITYMEASURE"}};t.IfcRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRATIOMEASURE"}};t.IfcReal=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCREAL"}};t.IfcRotationalFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALFREQUENCYMEASURE"}};t.IfcRotationalMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALMASSMEASURE"}};t.IfcRotationalStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALSTIFFNESSMEASURE"}};t.IfcSecondInMinute=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECONDINMINUTE"}};t.IfcSectionModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONMODULUSMEASURE"}};t.IfcSectionalAreaIntegralMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONALAREAINTEGRALMEASURE"}};t.IfcShearModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSHEARMODULUSMEASURE"}};t.IfcSolidAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOLIDANGLEMEASURE"}};t.IfcSoundPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERMEASURE"}};t.IfcSoundPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSUREMEASURE"}};t.IfcSpecificHeatCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECIFICHEATCAPACITYMEASURE"}};t.IfcSpecularExponent=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULAREXPONENT"}};t.IfcSpecularRoughness=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULARROUGHNESS"}};t.IfcTemperatureGradientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATUREGRADIENTMEASURE"}};t.IfcText=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXT"}};t.IfcTextAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTALIGNMENT"}};t.IfcTextDecoration=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTDECORATION"}};t.IfcTextFontName=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTFONTNAME"}};t.IfcTextTransformation=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTTRANSFORMATION"}};t.IfcThermalAdmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALADMITTANCEMEASURE"}};t.IfcThermalConductivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALCONDUCTIVITYMEASURE"}};t.IfcThermalExpansionCoefficientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALEXPANSIONCOEFFICIENTMEASURE"}};t.IfcThermalResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALRESISTANCEMEASURE"}};t.IfcThermalTransmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALTRANSMITTANCEMEASURE"}};t.IfcThermodynamicTemperatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMODYNAMICTEMPERATUREMEASURE"}};t.IfcTimeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTIMEMEASURE"}};t.IfcTimeStamp=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCTIMESTAMP"}};t.IfcTorqueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTORQUEMEASURE"}};t.IfcVaporPermeabilityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVAPORPERMEABILITYMEASURE"}};t.IfcVolumeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMEMEASURE"}};t.IfcVolumetricFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMETRICFLOWRATEMEASURE"}};t.IfcWarpingConstantMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGCONSTANTMEASURE"}};t.IfcWarpingMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGMOMENTMEASURE"}};t.IfcYearNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCYEARNUMBER"}};const s=class{};s.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},s.COMPLETION_G1={type:3,value:"COMPLETION_G1"},s.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},s.SNOW_S={type:3,value:"SNOW_S"},s.WIND_W={type:3,value:"WIND_W"},s.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},s.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},s.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},s.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},s.FIRE={type:3,value:"FIRE"},s.IMPULSE={type:3,value:"IMPULSE"},s.IMPACT={type:3,value:"IMPACT"},s.TRANSPORT={type:3,value:"TRANSPORT"},s.ERECTION={type:3,value:"ERECTION"},s.PROPPING={type:3,value:"PROPPING"},s.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},s.SHRINKAGE={type:3,value:"SHRINKAGE"},s.CREEP={type:3,value:"CREEP"},s.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},s.BUOYANCY={type:3,value:"BUOYANCY"},s.ICE={type:3,value:"ICE"},s.CURRENT={type:3,value:"CURRENT"},s.WAVE={type:3,value:"WAVE"},s.RAIN={type:3,value:"RAIN"},s.BRAKES={type:3,value:"BRAKES"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"};let i=s;t.IfcActionSourceTypeEnum=i;const r=class{};r.PERMANENT_G={type:3,value:"PERMANENT_G"},r.VARIABLE_Q={type:3,value:"VARIABLE_Q"},r.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"};let n=r;t.IfcActionTypeEnum=n;const a=class{};a.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},a.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},a.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},a.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},a.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"};let o=a;t.IfcActuatorTypeEnum=o;const h=class{};h.OFFICE={type:3,value:"OFFICE"},h.SITE={type:3,value:"SITE"},h.HOME={type:3,value:"HOME"},h.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},h.USERDEFINED={type:3,value:"USERDEFINED"};let c=h;t.IfcAddressTypeEnum=c;const l=class{};l.AHEAD={type:3,value:"AHEAD"},l.BEHIND={type:3,value:"BEHIND"};let p=l;t.IfcAheadOrBehind=p;const u=class{};u.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},u.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},u.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"};let E=u;t.IfcAirTerminalBoxTypeEnum=E;const I=class{};I.GRILLE={type:3,value:"GRILLE"},I.REGISTER={type:3,value:"REGISTER"},I.DIFFUSER={type:3,value:"DIFFUSER"},I.EYEBALL={type:3,value:"EYEBALL"},I.IRIS={type:3,value:"IRIS"},I.LINEARGRILLE={type:3,value:"LINEARGRILLE"},I.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"},I.USERDEFINED={type:3,value:"USERDEFINED"},I.NOTDEFINED={type:3,value:"NOTDEFINED"};let y=I;t.IfcAirTerminalTypeEnum=y;const T=class{};T.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},T.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},T.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},T.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},T.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},T.HEATPIPE={type:3,value:"HEATPIPE"},T.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},T.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},T.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"};let d=T;t.IfcAirToAirHeatRecoveryTypeEnum=d;const N=class{};N.BELL={type:3,value:"BELL"},N.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},N.LIGHT={type:3,value:"LIGHT"},N.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},N.SIREN={type:3,value:"SIREN"},N.WHISTLE={type:3,value:"WHISTLE"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"};let R=N;t.IfcAlarmTypeEnum=R;const f=class{};f.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},f.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},f.LOADING_3D={type:3,value:"LOADING_3D"},f.USERDEFINED={type:3,value:"USERDEFINED"},f.NOTDEFINED={type:3,value:"NOTDEFINED"};let O=f;t.IfcAnalysisModelTypeEnum=O;const D=class{};D.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},D.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},D.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},D.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},D.USERDEFINED={type:3,value:"USERDEFINED"},D.NOTDEFINED={type:3,value:"NOTDEFINED"};let m=D;t.IfcAnalysisTheoryTypeEnum=m;const A=class{};A.ADD={type:3,value:"ADD"},A.DIVIDE={type:3,value:"DIVIDE"},A.MULTIPLY={type:3,value:"MULTIPLY"},A.SUBTRACT={type:3,value:"SUBTRACT"};let S=A;t.IfcArithmeticOperatorEnum=S;const C=class{};C.SITE={type:3,value:"SITE"},C.FACTORY={type:3,value:"FACTORY"},C.NOTDEFINED={type:3,value:"NOTDEFINED"};let v=C;t.IfcAssemblyPlaceEnum=v;const L=class{};L.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},L.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},L.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},L.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},L.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},L.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let b=L;t.IfcBSplineCurveForm=b;const P=class{};P.BEAM={type:3,value:"BEAM"},P.JOIST={type:3,value:"JOIST"},P.LINTEL={type:3,value:"LINTEL"},P.T_BEAM={type:3,value:"T_BEAM"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"};let g=P;t.IfcBeamTypeEnum=g;const x=class{};x.GREATERTHAN={type:3,value:"GREATERTHAN"},x.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},x.LESSTHAN={type:3,value:"LESSTHAN"},x.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},x.EQUALTO={type:3,value:"EQUALTO"},x.NOTEQUALTO={type:3,value:"NOTEQUALTO"};let _=x;t.IfcBenchmarkEnum=_;const M=class{};M.WATER={type:3,value:"WATER"},M.STEAM={type:3,value:"STEAM"},M.USERDEFINED={type:3,value:"USERDEFINED"},M.NOTDEFINED={type:3,value:"NOTDEFINED"};let F=M;t.IfcBoilerTypeEnum=F;const U=class{};U.UNION={type:3,value:"UNION"},U.INTERSECTION={type:3,value:"INTERSECTION"},U.DIFFERENCE={type:3,value:"DIFFERENCE"};let w=U;t.IfcBooleanOperator=w;const G=class{};G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"};let H=G;t.IfcBuildingElementProxyTypeEnum=H;const B=class{};B.BEND={type:3,value:"BEND"},B.CROSS={type:3,value:"CROSS"},B.REDUCER={type:3,value:"REDUCER"},B.TEE={type:3,value:"TEE"},B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"};let V=B;t.IfcCableCarrierFittingTypeEnum=V;const W=class{};W.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},W.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},W.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},W.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"};let j=W;t.IfcCableCarrierSegmentTypeEnum=j;const Y=class{};Y.CABLESEGMENT={type:3,value:"CABLESEGMENT"},Y.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"};let z=Y;t.IfcCableSegmentTypeEnum=z;const k=class{};k.NOCHANGE={type:3,value:"NOCHANGE"},k.MODIFIED={type:3,value:"MODIFIED"},k.ADDED={type:3,value:"ADDED"},k.DELETED={type:3,value:"DELETED"},k.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"},k.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"};let X=k;t.IfcChangeActionEnum=X;const K=class{};K.AIRCOOLED={type:3,value:"AIRCOOLED"},K.WATERCOOLED={type:3,value:"WATERCOOLED"},K.HEATRECOVERY={type:3,value:"HEATRECOVERY"},K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"};let Z=K;t.IfcChillerTypeEnum=Z;const q=class{};q.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},q.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},q.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},q.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},q.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},q.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"};let Q=q;t.IfcCoilTypeEnum=Q;const J=class{};J.COLUMN={type:3,value:"COLUMN"},J.USERDEFINED={type:3,value:"USERDEFINED"},J.NOTDEFINED={type:3,value:"NOTDEFINED"};let $=J;t.IfcColumnTypeEnum=$;const tt=class{};tt.DYNAMIC={type:3,value:"DYNAMIC"},tt.RECIPROCATING={type:3,value:"RECIPROCATING"},tt.ROTARY={type:3,value:"ROTARY"},tt.SCROLL={type:3,value:"SCROLL"},tt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},tt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},tt.BOOSTER={type:3,value:"BOOSTER"},tt.OPENTYPE={type:3,value:"OPENTYPE"},tt.HERMETIC={type:3,value:"HERMETIC"},tt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},tt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},tt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},tt.ROTARYVANE={type:3,value:"ROTARYVANE"},tt.SINGLESCREW={type:3,value:"SINGLESCREW"},tt.TWINSCREW={type:3,value:"TWINSCREW"},tt.USERDEFINED={type:3,value:"USERDEFINED"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let et=tt;t.IfcCompressorTypeEnum=et;const st=class{};st.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},st.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},st.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},st.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},st.AIRCOOLED={type:3,value:"AIRCOOLED"},st.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"};let it=st;t.IfcCondenserTypeEnum=it;const rt=class{};rt.ATPATH={type:3,value:"ATPATH"},rt.ATSTART={type:3,value:"ATSTART"},rt.ATEND={type:3,value:"ATEND"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"};let nt=rt;t.IfcConnectionTypeEnum=nt;const at=class{};at.HARD={type:3,value:"HARD"},at.SOFT={type:3,value:"SOFT"},at.ADVISORY={type:3,value:"ADVISORY"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"};let ot=at;t.IfcConstraintEnum=ot;const ht=class{};ht.FLOATING={type:3,value:"FLOATING"},ht.PROPORTIONAL={type:3,value:"PROPORTIONAL"},ht.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"},ht.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"},ht.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"},ht.TWOPOSITION={type:3,value:"TWOPOSITION"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let ct=ht;t.IfcControllerTypeEnum=ct;const lt=class{};lt.ACTIVE={type:3,value:"ACTIVE"},lt.PASSIVE={type:3,value:"PASSIVE"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let pt=lt;t.IfcCooledBeamTypeEnum=pt;const ut=class{};ut.NATURALDRAFT={type:3,value:"NATURALDRAFT"},ut.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},ut.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let Et=ut;t.IfcCoolingTowerTypeEnum=Et;const It=class{};It.BUDGET={type:3,value:"BUDGET"},It.COSTPLAN={type:3,value:"COSTPLAN"},It.ESTIMATE={type:3,value:"ESTIMATE"},It.TENDER={type:3,value:"TENDER"},It.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},It.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},It.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"};let yt=It;t.IfcCostScheduleTypeEnum=yt;const Tt=class{};Tt.CEILING={type:3,value:"CEILING"},Tt.FLOORING={type:3,value:"FLOORING"},Tt.CLADDING={type:3,value:"CLADDING"},Tt.ROOFING={type:3,value:"ROOFING"},Tt.INSULATION={type:3,value:"INSULATION"},Tt.MEMBRANE={type:3,value:"MEMBRANE"},Tt.SLEEVING={type:3,value:"SLEEVING"},Tt.WRAPPING={type:3,value:"WRAPPING"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let dt=Tt;t.IfcCoveringTypeEnum=dt;const Nt=class{};Nt.AED={type:3,value:"AED"},Nt.AES={type:3,value:"AES"},Nt.ATS={type:3,value:"ATS"},Nt.AUD={type:3,value:"AUD"},Nt.BBD={type:3,value:"BBD"},Nt.BEG={type:3,value:"BEG"},Nt.BGL={type:3,value:"BGL"},Nt.BHD={type:3,value:"BHD"},Nt.BMD={type:3,value:"BMD"},Nt.BND={type:3,value:"BND"},Nt.BRL={type:3,value:"BRL"},Nt.BSD={type:3,value:"BSD"},Nt.BWP={type:3,value:"BWP"},Nt.BZD={type:3,value:"BZD"},Nt.CAD={type:3,value:"CAD"},Nt.CBD={type:3,value:"CBD"},Nt.CHF={type:3,value:"CHF"},Nt.CLP={type:3,value:"CLP"},Nt.CNY={type:3,value:"CNY"},Nt.CYS={type:3,value:"CYS"},Nt.CZK={type:3,value:"CZK"},Nt.DDP={type:3,value:"DDP"},Nt.DEM={type:3,value:"DEM"},Nt.DKK={type:3,value:"DKK"},Nt.EGL={type:3,value:"EGL"},Nt.EST={type:3,value:"EST"},Nt.EUR={type:3,value:"EUR"},Nt.FAK={type:3,value:"FAK"},Nt.FIM={type:3,value:"FIM"},Nt.FJD={type:3,value:"FJD"},Nt.FKP={type:3,value:"FKP"},Nt.FRF={type:3,value:"FRF"},Nt.GBP={type:3,value:"GBP"},Nt.GIP={type:3,value:"GIP"},Nt.GMD={type:3,value:"GMD"},Nt.GRX={type:3,value:"GRX"},Nt.HKD={type:3,value:"HKD"},Nt.HUF={type:3,value:"HUF"},Nt.ICK={type:3,value:"ICK"},Nt.IDR={type:3,value:"IDR"},Nt.ILS={type:3,value:"ILS"},Nt.INR={type:3,value:"INR"},Nt.IRP={type:3,value:"IRP"},Nt.ITL={type:3,value:"ITL"},Nt.JMD={type:3,value:"JMD"},Nt.JOD={type:3,value:"JOD"},Nt.JPY={type:3,value:"JPY"},Nt.KES={type:3,value:"KES"},Nt.KRW={type:3,value:"KRW"},Nt.KWD={type:3,value:"KWD"},Nt.KYD={type:3,value:"KYD"},Nt.LKR={type:3,value:"LKR"},Nt.LUF={type:3,value:"LUF"},Nt.MTL={type:3,value:"MTL"},Nt.MUR={type:3,value:"MUR"},Nt.MXN={type:3,value:"MXN"},Nt.MYR={type:3,value:"MYR"},Nt.NLG={type:3,value:"NLG"},Nt.NZD={type:3,value:"NZD"},Nt.OMR={type:3,value:"OMR"},Nt.PGK={type:3,value:"PGK"},Nt.PHP={type:3,value:"PHP"},Nt.PKR={type:3,value:"PKR"},Nt.PLN={type:3,value:"PLN"},Nt.PTN={type:3,value:"PTN"},Nt.QAR={type:3,value:"QAR"},Nt.RUR={type:3,value:"RUR"},Nt.SAR={type:3,value:"SAR"},Nt.SCR={type:3,value:"SCR"},Nt.SEK={type:3,value:"SEK"},Nt.SGD={type:3,value:"SGD"},Nt.SKP={type:3,value:"SKP"},Nt.THB={type:3,value:"THB"},Nt.TRL={type:3,value:"TRL"},Nt.TTD={type:3,value:"TTD"},Nt.TWD={type:3,value:"TWD"},Nt.USD={type:3,value:"USD"},Nt.VEB={type:3,value:"VEB"},Nt.VND={type:3,value:"VND"},Nt.XEU={type:3,value:"XEU"},Nt.ZAR={type:3,value:"ZAR"},Nt.ZWD={type:3,value:"ZWD"},Nt.NOK={type:3,value:"NOK"};let Rt=Nt;t.IfcCurrencyEnum=Rt;const ft=class{};ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ot=ft;t.IfcCurtainWallTypeEnum=Ot;const Dt=class{};Dt.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Dt.FIREDAMPER={type:3,value:"FIREDAMPER"},Dt.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Dt.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Dt.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Dt.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Dt.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Dt.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Dt.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Dt.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Dt.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"};let mt=Dt;t.IfcDamperTypeEnum=mt;const At=class{};At.MEASURED={type:3,value:"MEASURED"},At.PREDICTED={type:3,value:"PREDICTED"},At.SIMULATED={type:3,value:"SIMULATED"},At.USERDEFINED={type:3,value:"USERDEFINED"},At.NOTDEFINED={type:3,value:"NOTDEFINED"};let St=At;t.IfcDataOriginEnum=St;const Ct=class{};Ct.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Ct.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Ct.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Ct.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Ct.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Ct.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Ct.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Ct.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Ct.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Ct.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Ct.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Ct.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Ct.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Ct.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Ct.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Ct.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Ct.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Ct.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Ct.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Ct.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Ct.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Ct.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Ct.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Ct.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Ct.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Ct.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Ct.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Ct.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Ct.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Ct.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Ct.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Ct.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Ct.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Ct.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Ct.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Ct.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Ct.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Ct.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Ct.PHUNIT={type:3,value:"PHUNIT"},Ct.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Ct.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Ct.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Ct.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Ct.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Ct.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Ct.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Ct.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Ct.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Ct.USERDEFINED={type:3,value:"USERDEFINED"};let vt=Ct;t.IfcDerivedUnitEnum=vt;const Lt=class{};Lt.ORIGIN={type:3,value:"ORIGIN"},Lt.TARGET={type:3,value:"TARGET"};let bt=Lt;t.IfcDimensionExtentUsage=bt;const Pt=class{};Pt.POSITIVE={type:3,value:"POSITIVE"},Pt.NEGATIVE={type:3,value:"NEGATIVE"};let gt=Pt;t.IfcDirectionSenseEnum=gt;const xt=class{};xt.FORMEDDUCT={type:3,value:"FORMEDDUCT"},xt.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},xt.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},xt.MANHOLE={type:3,value:"MANHOLE"},xt.METERCHAMBER={type:3,value:"METERCHAMBER"},xt.SUMP={type:3,value:"SUMP"},xt.TRENCH={type:3,value:"TRENCH"},xt.VALVECHAMBER={type:3,value:"VALVECHAMBER"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let _t=xt;t.IfcDistributionChamberElementTypeEnum=_t;const Mt=class{};Mt.PUBLIC={type:3,value:"PUBLIC"},Mt.RESTRICTED={type:3,value:"RESTRICTED"},Mt.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Mt.PERSONAL={type:3,value:"PERSONAL"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ft=Mt;t.IfcDocumentConfidentialityEnum=Ft;const Ut=class{};Ut.DRAFT={type:3,value:"DRAFT"},Ut.FINALDRAFT={type:3,value:"FINALDRAFT"},Ut.FINAL={type:3,value:"FINAL"},Ut.REVISION={type:3,value:"REVISION"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let wt=Ut;t.IfcDocumentStatusEnum=wt;const Gt=class{};Gt.SWINGING={type:3,value:"SWINGING"},Gt.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Gt.SLIDING={type:3,value:"SLIDING"},Gt.FOLDING={type:3,value:"FOLDING"},Gt.REVOLVING={type:3,value:"REVOLVING"},Gt.ROLLINGUP={type:3,value:"ROLLINGUP"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ht=Gt;t.IfcDoorPanelOperationEnum=Ht;const Bt=class{};Bt.LEFT={type:3,value:"LEFT"},Bt.MIDDLE={type:3,value:"MIDDLE"},Bt.RIGHT={type:3,value:"RIGHT"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vt=Bt;t.IfcDoorPanelPositionEnum=Vt;const Wt=class{};Wt.ALUMINIUM={type:3,value:"ALUMINIUM"},Wt.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Wt.STEEL={type:3,value:"STEEL"},Wt.WOOD={type:3,value:"WOOD"},Wt.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Wt.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Wt.PLASTIC={type:3,value:"PLASTIC"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"};let jt=Wt;t.IfcDoorStyleConstructionEnum=jt;const Yt=class{};Yt.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Yt.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Yt.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Yt.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Yt.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Yt.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Yt.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Yt.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Yt.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Yt.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Yt.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Yt.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Yt.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Yt.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Yt.REVOLVING={type:3,value:"REVOLVING"},Yt.ROLLINGUP={type:3,value:"ROLLINGUP"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"};let zt=Yt;t.IfcDoorStyleOperationEnum=zt;const kt=class{};kt.BEND={type:3,value:"BEND"},kt.CONNECTOR={type:3,value:"CONNECTOR"},kt.ENTRY={type:3,value:"ENTRY"},kt.EXIT={type:3,value:"EXIT"},kt.JUNCTION={type:3,value:"JUNCTION"},kt.OBSTRUCTION={type:3,value:"OBSTRUCTION"},kt.TRANSITION={type:3,value:"TRANSITION"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xt=kt;t.IfcDuctFittingTypeEnum=Xt;const Kt=class{};Kt.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Kt.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zt=Kt;t.IfcDuctSegmentTypeEnum=Zt;const qt=class{};qt.FLATOVAL={type:3,value:"FLATOVAL"},qt.RECTANGULAR={type:3,value:"RECTANGULAR"},qt.ROUND={type:3,value:"ROUND"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qt=qt;t.IfcDuctSilencerTypeEnum=Qt;const Jt=class{};Jt.COMPUTER={type:3,value:"COMPUTER"},Jt.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"},Jt.DISHWASHER={type:3,value:"DISHWASHER"},Jt.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Jt.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"},Jt.FACSIMILE={type:3,value:"FACSIMILE"},Jt.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Jt.FREEZER={type:3,value:"FREEZER"},Jt.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Jt.HANDDRYER={type:3,value:"HANDDRYER"},Jt.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"},Jt.MICROWAVE={type:3,value:"MICROWAVE"},Jt.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Jt.PRINTER={type:3,value:"PRINTER"},Jt.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Jt.RADIANTHEATER={type:3,value:"RADIANTHEATER"},Jt.SCANNER={type:3,value:"SCANNER"},Jt.TELEPHONE={type:3,value:"TELEPHONE"},Jt.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Jt.TV={type:3,value:"TV"},Jt.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Jt.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Jt.WATERHEATER={type:3,value:"WATERHEATER"},Jt.WATERCOOLER={type:3,value:"WATERCOOLER"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $t=Jt;t.IfcElectricApplianceTypeEnum=$t;const te=class{};te.ALTERNATING={type:3,value:"ALTERNATING"},te.DIRECT={type:3,value:"DIRECT"},te.NOTDEFINED={type:3,value:"NOTDEFINED"};let ee=te;t.IfcElectricCurrentEnum=ee;const se=class{};se.ALARMPANEL={type:3,value:"ALARMPANEL"},se.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},se.CONTROLPANEL={type:3,value:"CONTROLPANEL"},se.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},se.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"},se.INDICATORPANEL={type:3,value:"INDICATORPANEL"},se.MIMICPANEL={type:3,value:"MIMICPANEL"},se.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},se.SWITCHBOARD={type:3,value:"SWITCHBOARD"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"};let ie=se;t.IfcElectricDistributionPointFunctionEnum=ie;const re=class{};re.BATTERY={type:3,value:"BATTERY"},re.CAPACITORBANK={type:3,value:"CAPACITORBANK"},re.HARMONICFILTER={type:3,value:"HARMONICFILTER"},re.INDUCTORBANK={type:3,value:"INDUCTORBANK"},re.UPS={type:3,value:"UPS"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"};let ne=re;t.IfcElectricFlowStorageDeviceTypeEnum=ne;const ae=class{};ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"};let oe=ae;t.IfcElectricGeneratorTypeEnum=oe;const he=class{};he.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"},he.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"},he.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"};let ce=he;t.IfcElectricHeaterTypeEnum=ce;const le=class{};le.DC={type:3,value:"DC"},le.INDUCTION={type:3,value:"INDUCTION"},le.POLYPHASE={type:3,value:"POLYPHASE"},le.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},le.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"};let pe=le;t.IfcElectricMotorTypeEnum=pe;const ue=class{};ue.TIMECLOCK={type:3,value:"TIMECLOCK"},ue.TIMEDELAY={type:3,value:"TIMEDELAY"},ue.RELAY={type:3,value:"RELAY"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ee=ue;t.IfcElectricTimeControlTypeEnum=Ee;const Ie=class{};Ie.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Ie.ARCH={type:3,value:"ARCH"},Ie.BEAM_GRID={type:3,value:"BEAM_GRID"},Ie.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Ie.GIRDER={type:3,value:"GIRDER"},Ie.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Ie.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Ie.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Ie.TRUSS={type:3,value:"TRUSS"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"};let ye=Ie;t.IfcElementAssemblyTypeEnum=ye;const Te=class{};Te.COMPLEX={type:3,value:"COMPLEX"},Te.ELEMENT={type:3,value:"ELEMENT"},Te.PARTIAL={type:3,value:"PARTIAL"};let de=Te;t.IfcElementCompositionEnum=de;const Ne=class{};Ne.PRIMARY={type:3,value:"PRIMARY"},Ne.SECONDARY={type:3,value:"SECONDARY"},Ne.TERTIARY={type:3,value:"TERTIARY"},Ne.AUXILIARY={type:3,value:"AUXILIARY"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"};let Re=Ne;t.IfcEnergySequenceEnum=Re;const fe=class{};fe.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"},fe.DISPOSAL={type:3,value:"DISPOSAL"},fe.EXTRACTION={type:3,value:"EXTRACTION"},fe.INSTALLATION={type:3,value:"INSTALLATION"},fe.MANUFACTURE={type:3,value:"MANUFACTURE"},fe.TRANSPORTATION={type:3,value:"TRANSPORTATION"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oe=fe;t.IfcEnvironmentalImpactCategoryEnum=Oe;const De=class{};De.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},De.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},De.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},De.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},De.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},De.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},De.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},De.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},De.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"};let me=De;t.IfcEvaporativeCoolerTypeEnum=me;const Ae=class{};Ae.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ae.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ae.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ae.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ae.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"};let Se=Ae;t.IfcEvaporatorTypeEnum=Se;const Ce=class{};Ce.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Ce.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Ce.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Ce.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Ce.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Ce.VANEAXIAL={type:3,value:"VANEAXIAL"},Ce.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"};let ve=Ce;t.IfcFanTypeEnum=ve;const Le=class{};Le.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Le.ODORFILTER={type:3,value:"ODORFILTER"},Le.OILFILTER={type:3,value:"OILFILTER"},Le.STRAINER={type:3,value:"STRAINER"},Le.WATERFILTER={type:3,value:"WATERFILTER"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"};let be=Le;t.IfcFilterTypeEnum=be;const Pe=class{};Pe.BREECHINGINLET={type:3,value:"BREECHINGINLET"},Pe.FIREHYDRANT={type:3,value:"FIREHYDRANT"},Pe.HOSEREEL={type:3,value:"HOSEREEL"},Pe.SPRINKLER={type:3,value:"SPRINKLER"},Pe.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"};let ge=Pe;t.IfcFireSuppressionTerminalTypeEnum=ge;const xe=class{};xe.SOURCE={type:3,value:"SOURCE"},xe.SINK={type:3,value:"SINK"},xe.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"};let _e=xe;t.IfcFlowDirectionEnum=_e;const Me=class{};Me.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Me.THERMOMETER={type:3,value:"THERMOMETER"},Me.AMMETER={type:3,value:"AMMETER"},Me.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Me.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Me.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Me.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Me.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fe=Me;t.IfcFlowInstrumentTypeEnum=Fe;const Ue=class{};Ue.ELECTRICMETER={type:3,value:"ELECTRICMETER"},Ue.ENERGYMETER={type:3,value:"ENERGYMETER"},Ue.FLOWMETER={type:3,value:"FLOWMETER"},Ue.GASMETER={type:3,value:"GASMETER"},Ue.OILMETER={type:3,value:"OILMETER"},Ue.WATERMETER={type:3,value:"WATERMETER"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let we=Ue;t.IfcFlowMeterTypeEnum=we;const Ge=class{};Ge.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Ge.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Ge.PILE_CAP={type:3,value:"PILE_CAP"},Ge.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"};let He=Ge;t.IfcFootingTypeEnum=He;const Be=class{};Be.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"},Be.GASBOOSTER={type:3,value:"GASBOOSTER"},Be.GASBURNER={type:3,value:"GASBURNER"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ve=Be;t.IfcGasTerminalTypeEnum=Ve;const We=class{};We.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},We.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},We.MODEL_VIEW={type:3,value:"MODEL_VIEW"},We.PLAN_VIEW={type:3,value:"PLAN_VIEW"},We.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},We.SECTION_VIEW={type:3,value:"SECTION_VIEW"},We.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"};let je=We;t.IfcGeometricProjectionEnum=je;const Ye=class{};Ye.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Ye.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};let ze=Ye;t.IfcGlobalOrLocalEnum=ze;const ke=class{};ke.PLATE={type:3,value:"PLATE"},ke.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xe=ke;t.IfcHeatExchangerTypeEnum=Xe;const Ke=class{};Ke.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Ke.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Ke.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Ke.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Ke.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Ke.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Ke.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Ke.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Ke.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Ke.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Ke.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Ke.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Ke.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ze=Ke;t.IfcHumidifierTypeEnum=Ze;const qe=class{};qe.INTERNAL={type:3,value:"INTERNAL"},qe.EXTERNAL={type:3,value:"EXTERNAL"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qe=qe;t.IfcInternalOrExternalEnum=Qe;const Je=class{};Je.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Je.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Je.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"};let $e=Je;t.IfcInventoryTypeEnum=$e;const ts=class{};ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let es=ts;t.IfcJunctionBoxTypeEnum=es;const ss=class{};ss.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},ss.FLUORESCENT={type:3,value:"FLUORESCENT"},ss.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},ss.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},ss.METALHALIDE={type:3,value:"METALHALIDE"},ss.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let is=ss;t.IfcLampTypeEnum=is;const rs=class{};rs.AXIS1={type:3,value:"AXIS1"},rs.AXIS2={type:3,value:"AXIS2"},rs.AXIS3={type:3,value:"AXIS3"};let ns=rs;t.IfcLayerSetDirectionEnum=ns;const as=class{};as.TYPE_A={type:3,value:"TYPE_A"},as.TYPE_B={type:3,value:"TYPE_B"},as.TYPE_C={type:3,value:"TYPE_C"},as.NOTDEFINED={type:3,value:"NOTDEFINED"};let os=as;t.IfcLightDistributionCurveEnum=os;const hs=class{};hs.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},hs.FLUORESCENT={type:3,value:"FLUORESCENT"},hs.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},hs.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},hs.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},hs.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},hs.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},hs.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},hs.METALHALIDE={type:3,value:"METALHALIDE"},hs.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let cs=hs;t.IfcLightEmissionSourceEnum=cs;const ls=class{};ls.POINTSOURCE={type:3,value:"POINTSOURCE"},ls.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let ps=ls;t.IfcLightFixtureTypeEnum=ps;const us=class{};us.LOAD_GROUP={type:3,value:"LOAD_GROUP"},us.LOAD_CASE={type:3,value:"LOAD_CASE"},us.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"},us.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"};let Es=us;t.IfcLoadGroupTypeEnum=Es;const Is=class{};Is.LOGICALAND={type:3,value:"LOGICALAND"},Is.LOGICALOR={type:3,value:"LOGICALOR"};let ys=Is;t.IfcLogicalOperatorEnum=ys;const Ts=class{};Ts.BRACE={type:3,value:"BRACE"},Ts.CHORD={type:3,value:"CHORD"},Ts.COLLAR={type:3,value:"COLLAR"},Ts.MEMBER={type:3,value:"MEMBER"},Ts.MULLION={type:3,value:"MULLION"},Ts.PLATE={type:3,value:"PLATE"},Ts.POST={type:3,value:"POST"},Ts.PURLIN={type:3,value:"PURLIN"},Ts.RAFTER={type:3,value:"RAFTER"},Ts.STRINGER={type:3,value:"STRINGER"},Ts.STRUT={type:3,value:"STRUT"},Ts.STUD={type:3,value:"STUD"},Ts.USERDEFINED={type:3,value:"USERDEFINED"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let ds=Ts;t.IfcMemberTypeEnum=ds;const Ns=class{};Ns.BELTDRIVE={type:3,value:"BELTDRIVE"},Ns.COUPLING={type:3,value:"COUPLING"},Ns.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},Ns.USERDEFINED={type:3,value:"USERDEFINED"},Ns.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rs=Ns;t.IfcMotorConnectionTypeEnum=Rs;const fs=class{};fs.NULL={type:3,value:"NULL"};let Os=fs;t.IfcNullStyle=Os;const Ds=class{};Ds.PRODUCT={type:3,value:"PRODUCT"},Ds.PROCESS={type:3,value:"PROCESS"},Ds.CONTROL={type:3,value:"CONTROL"},Ds.RESOURCE={type:3,value:"RESOURCE"},Ds.ACTOR={type:3,value:"ACTOR"},Ds.GROUP={type:3,value:"GROUP"},Ds.PROJECT={type:3,value:"PROJECT"},Ds.NOTDEFINED={type:3,value:"NOTDEFINED"};let ms=Ds;t.IfcObjectTypeEnum=ms;const As=class{};As.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},As.DESIGNINTENT={type:3,value:"DESIGNINTENT"},As.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},As.REQUIREMENT={type:3,value:"REQUIREMENT"},As.SPECIFICATION={type:3,value:"SPECIFICATION"},As.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ss=As;t.IfcObjectiveEnum=Ss;const Cs=class{};Cs.ASSIGNEE={type:3,value:"ASSIGNEE"},Cs.ASSIGNOR={type:3,value:"ASSIGNOR"},Cs.LESSEE={type:3,value:"LESSEE"},Cs.LESSOR={type:3,value:"LESSOR"},Cs.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Cs.OWNER={type:3,value:"OWNER"},Cs.TENANT={type:3,value:"TENANT"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let vs=Cs;t.IfcOccupantTypeEnum=vs;const Ls=class{};Ls.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Ls.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Ls.POWEROUTLET={type:3,value:"POWEROUTLET"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let bs=Ls;t.IfcOutletTypeEnum=bs;const Ps=class{};Ps.GRILL={type:3,value:"GRILL"},Ps.LOUVER={type:3,value:"LOUVER"},Ps.SCREEN={type:3,value:"SCREEN"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"};let gs=Ps;t.IfcPermeableCoveringOperationEnum=gs;const xs=class{};xs.PHYSICAL={type:3,value:"PHYSICAL"},xs.VIRTUAL={type:3,value:"VIRTUAL"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"};let _s=xs;t.IfcPhysicalOrVirtualEnum=_s;const Ms=class{};Ms.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Ms.COMPOSITE={type:3,value:"COMPOSITE"},Ms.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Ms.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fs=Ms;t.IfcPileConstructionEnum=Fs;const Us=class{};Us.COHESION={type:3,value:"COHESION"},Us.FRICTION={type:3,value:"FRICTION"},Us.SUPPORT={type:3,value:"SUPPORT"},Us.USERDEFINED={type:3,value:"USERDEFINED"},Us.NOTDEFINED={type:3,value:"NOTDEFINED"};let ws=Us;t.IfcPileTypeEnum=ws;const Gs=class{};Gs.BEND={type:3,value:"BEND"},Gs.CONNECTOR={type:3,value:"CONNECTOR"},Gs.ENTRY={type:3,value:"ENTRY"},Gs.EXIT={type:3,value:"EXIT"},Gs.JUNCTION={type:3,value:"JUNCTION"},Gs.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Gs.TRANSITION={type:3,value:"TRANSITION"},Gs.USERDEFINED={type:3,value:"USERDEFINED"},Gs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hs=Gs;t.IfcPipeFittingTypeEnum=Hs;const Bs=class{};Bs.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Bs.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Bs.GUTTER={type:3,value:"GUTTER"},Bs.SPOOL={type:3,value:"SPOOL"},Bs.USERDEFINED={type:3,value:"USERDEFINED"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vs=Bs;t.IfcPipeSegmentTypeEnum=Vs;const Ws=class{};Ws.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Ws.SHEET={type:3,value:"SHEET"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"};let js=Ws;t.IfcPlateTypeEnum=js;const Ys=class{};Ys.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Ys.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Ys.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Ys.CALIBRATION={type:3,value:"CALIBRATION"},Ys.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Ys.SHUTDOWN={type:3,value:"SHUTDOWN"},Ys.STARTUP={type:3,value:"STARTUP"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"};let zs=Ys;t.IfcProcedureTypeEnum=zs;const ks=class{};ks.CURVE={type:3,value:"CURVE"},ks.AREA={type:3,value:"AREA"};let Xs=ks;t.IfcProfileTypeEnum=Xs;const Ks=class{};Ks.CHANGE={type:3,value:"CHANGE"},Ks.MAINTENANCE={type:3,value:"MAINTENANCE"},Ks.MOVE={type:3,value:"MOVE"},Ks.PURCHASE={type:3,value:"PURCHASE"},Ks.WORK={type:3,value:"WORK"},Ks.USERDEFINED={type:3,value:"USERDEFINED"},Ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zs=Ks;t.IfcProjectOrderRecordTypeEnum=Zs;const qs=class{};qs.CHANGEORDER={type:3,value:"CHANGEORDER"},qs.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},qs.MOVEORDER={type:3,value:"MOVEORDER"},qs.PURCHASEORDER={type:3,value:"PURCHASEORDER"},qs.WORKORDER={type:3,value:"WORKORDER"},qs.USERDEFINED={type:3,value:"USERDEFINED"},qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qs=qs;t.IfcProjectOrderTypeEnum=Qs;const Js=class{};Js.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Js.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};let $s=Js;t.IfcProjectedOrTrueLengthEnum=$s;const ti=class{};ti.DESIGN={type:3,value:"DESIGN"},ti.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"},ti.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"},ti.SIMULATED={type:3,value:"SIMULATED"},ti.ASBUILT={type:3,value:"ASBUILT"},ti.COMMISSIONING={type:3,value:"COMMISSIONING"},ti.MEASURED={type:3,value:"MEASURED"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTKNOWN={type:3,value:"NOTKNOWN"};let ei=ti;t.IfcPropertySourceEnum=ei;const si=class{};si.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},si.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},si.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"},si.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},si.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},si.VARISTOR={type:3,value:"VARISTOR"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"};let ii=si;t.IfcProtectiveDeviceTypeEnum=ii;const ri=class{};ri.CIRCULATOR={type:3,value:"CIRCULATOR"},ri.ENDSUCTION={type:3,value:"ENDSUCTION"},ri.SPLITCASE={type:3,value:"SPLITCASE"},ri.VERTICALINLINE={type:3,value:"VERTICALINLINE"},ri.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"};let ni=ri;t.IfcPumpTypeEnum=ni;const ai=class{};ai.HANDRAIL={type:3,value:"HANDRAIL"},ai.GUARDRAIL={type:3,value:"GUARDRAIL"},ai.BALUSTRADE={type:3,value:"BALUSTRADE"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let oi=ai;t.IfcRailingTypeEnum=oi;const hi=class{};hi.STRAIGHT={type:3,value:"STRAIGHT"},hi.SPIRAL={type:3,value:"SPIRAL"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ci=hi;t.IfcRampFlightTypeEnum=ci;const li=class{};li.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},li.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},li.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},li.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},li.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},li.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"};let pi=li;t.IfcRampTypeEnum=pi;const ui=class{};ui.BLINN={type:3,value:"BLINN"},ui.FLAT={type:3,value:"FLAT"},ui.GLASS={type:3,value:"GLASS"},ui.MATT={type:3,value:"MATT"},ui.METAL={type:3,value:"METAL"},ui.MIRROR={type:3,value:"MIRROR"},ui.PHONG={type:3,value:"PHONG"},ui.PLASTIC={type:3,value:"PLASTIC"},ui.STRAUSS={type:3,value:"STRAUSS"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ei=ui;t.IfcReflectanceMethodEnum=Ei;const Ii=class{};Ii.MAIN={type:3,value:"MAIN"},Ii.SHEAR={type:3,value:"SHEAR"},Ii.LIGATURE={type:3,value:"LIGATURE"},Ii.STUD={type:3,value:"STUD"},Ii.PUNCHING={type:3,value:"PUNCHING"},Ii.EDGE={type:3,value:"EDGE"},Ii.RING={type:3,value:"RING"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let yi=Ii;t.IfcReinforcingBarRoleEnum=yi;const Ti=class{};Ti.PLAIN={type:3,value:"PLAIN"},Ti.TEXTURED={type:3,value:"TEXTURED"};let di=Ti;t.IfcReinforcingBarSurfaceEnum=di;const Ni=class{};Ni.CONSUMED={type:3,value:"CONSUMED"},Ni.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"},Ni.NOTCONSUMED={type:3,value:"NOTCONSUMED"},Ni.OCCUPIED={type:3,value:"OCCUPIED"},Ni.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"},Ni.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ri=Ni;t.IfcResourceConsumptionEnum=Ri;const fi=class{};fi.DIRECTION_X={type:3,value:"DIRECTION_X"},fi.DIRECTION_Y={type:3,value:"DIRECTION_Y"};let Oi=fi;t.IfcRibPlateDirectionEnum=Oi;const Di=class{};Di.SUPPLIER={type:3,value:"SUPPLIER"},Di.MANUFACTURER={type:3,value:"MANUFACTURER"},Di.CONTRACTOR={type:3,value:"CONTRACTOR"},Di.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Di.ARCHITECT={type:3,value:"ARCHITECT"},Di.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Di.COSTENGINEER={type:3,value:"COSTENGINEER"},Di.CLIENT={type:3,value:"CLIENT"},Di.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Di.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Di.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Di.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Di.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Di.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Di.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Di.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"},Di.ENGINEER={type:3,value:"ENGINEER"},Di.OWNER={type:3,value:"OWNER"},Di.CONSULTANT={type:3,value:"CONSULTANT"},Di.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Di.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Di.RESELLER={type:3,value:"RESELLER"},Di.USERDEFINED={type:3,value:"USERDEFINED"};let mi=Di;t.IfcRoleEnum=mi;const Ai=class{};Ai.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ai.SHED_ROOF={type:3,value:"SHED_ROOF"},Ai.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ai.HIP_ROOF={type:3,value:"HIP_ROOF"},Ai.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ai.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ai.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ai.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ai.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ai.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ai.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ai.DOME_ROOF={type:3,value:"DOME_ROOF"},Ai.FREEFORM={type:3,value:"FREEFORM"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let Si=Ai;t.IfcRoofTypeEnum=Si;const Ci=class{};Ci.EXA={type:3,value:"EXA"},Ci.PETA={type:3,value:"PETA"},Ci.TERA={type:3,value:"TERA"},Ci.GIGA={type:3,value:"GIGA"},Ci.MEGA={type:3,value:"MEGA"},Ci.KILO={type:3,value:"KILO"},Ci.HECTO={type:3,value:"HECTO"},Ci.DECA={type:3,value:"DECA"},Ci.DECI={type:3,value:"DECI"},Ci.CENTI={type:3,value:"CENTI"},Ci.MILLI={type:3,value:"MILLI"},Ci.MICRO={type:3,value:"MICRO"},Ci.NANO={type:3,value:"NANO"},Ci.PICO={type:3,value:"PICO"},Ci.FEMTO={type:3,value:"FEMTO"},Ci.ATTO={type:3,value:"ATTO"};let vi=Ci;t.IfcSIPrefix=vi;const Li=class{};Li.AMPERE={type:3,value:"AMPERE"},Li.BECQUEREL={type:3,value:"BECQUEREL"},Li.CANDELA={type:3,value:"CANDELA"},Li.COULOMB={type:3,value:"COULOMB"},Li.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Li.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Li.FARAD={type:3,value:"FARAD"},Li.GRAM={type:3,value:"GRAM"},Li.GRAY={type:3,value:"GRAY"},Li.HENRY={type:3,value:"HENRY"},Li.HERTZ={type:3,value:"HERTZ"},Li.JOULE={type:3,value:"JOULE"},Li.KELVIN={type:3,value:"KELVIN"},Li.LUMEN={type:3,value:"LUMEN"},Li.LUX={type:3,value:"LUX"},Li.METRE={type:3,value:"METRE"},Li.MOLE={type:3,value:"MOLE"},Li.NEWTON={type:3,value:"NEWTON"},Li.OHM={type:3,value:"OHM"},Li.PASCAL={type:3,value:"PASCAL"},Li.RADIAN={type:3,value:"RADIAN"},Li.SECOND={type:3,value:"SECOND"},Li.SIEMENS={type:3,value:"SIEMENS"},Li.SIEVERT={type:3,value:"SIEVERT"},Li.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Li.STERADIAN={type:3,value:"STERADIAN"},Li.TESLA={type:3,value:"TESLA"},Li.VOLT={type:3,value:"VOLT"},Li.WATT={type:3,value:"WATT"},Li.WEBER={type:3,value:"WEBER"};let bi=Li;t.IfcSIUnitName=bi;const Pi=class{};Pi.BATH={type:3,value:"BATH"},Pi.BIDET={type:3,value:"BIDET"},Pi.CISTERN={type:3,value:"CISTERN"},Pi.SHOWER={type:3,value:"SHOWER"},Pi.SINK={type:3,value:"SINK"},Pi.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Pi.TOILETPAN={type:3,value:"TOILETPAN"},Pi.URINAL={type:3,value:"URINAL"},Pi.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Pi.WCSEAT={type:3,value:"WCSEAT"},Pi.USERDEFINED={type:3,value:"USERDEFINED"},Pi.NOTDEFINED={type:3,value:"NOTDEFINED"};let gi=Pi;t.IfcSanitaryTerminalTypeEnum=gi;const xi=class{};xi.UNIFORM={type:3,value:"UNIFORM"},xi.TAPERED={type:3,value:"TAPERED"};let _i=xi;t.IfcSectionTypeEnum=_i;const Mi=class{};Mi.CO2SENSOR={type:3,value:"CO2SENSOR"},Mi.FIRESENSOR={type:3,value:"FIRESENSOR"},Mi.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Mi.GASSENSOR={type:3,value:"GASSENSOR"},Mi.HEATSENSOR={type:3,value:"HEATSENSOR"},Mi.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Mi.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Mi.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Mi.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Mi.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Mi.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Mi.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Mi.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fi=Mi;t.IfcSensorTypeEnum=Fi;const Ui=class{};Ui.START_START={type:3,value:"START_START"},Ui.START_FINISH={type:3,value:"START_FINISH"},Ui.FINISH_START={type:3,value:"FINISH_START"},Ui.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let wi=Ui;t.IfcSequenceEnum=wi;const Gi=class{};Gi.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"},Gi.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"},Gi.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"},Gi.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"},Gi.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"},Gi.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"},Gi.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hi=Gi;t.IfcServiceLifeFactorTypeEnum=Hi;const Bi=class{};Bi.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"},Bi.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"},Bi.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"},Bi.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"},Bi.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"};let Vi=Bi;t.IfcServiceLifeTypeEnum=Vi;const Wi=class{};Wi.FLOOR={type:3,value:"FLOOR"},Wi.ROOF={type:3,value:"ROOF"},Wi.LANDING={type:3,value:"LANDING"},Wi.BASESLAB={type:3,value:"BASESLAB"},Wi.USERDEFINED={type:3,value:"USERDEFINED"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ji=Wi;t.IfcSlabTypeEnum=ji;const Yi=class{};Yi.DBA={type:3,value:"DBA"},Yi.DBB={type:3,value:"DBB"},Yi.DBC={type:3,value:"DBC"},Yi.NC={type:3,value:"NC"},Yi.NR={type:3,value:"NR"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"};let zi=Yi;t.IfcSoundScaleEnum=zi;const ki=class{};ki.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"},ki.PANELRADIATOR={type:3,value:"PANELRADIATOR"},ki.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"},ki.CONVECTOR={type:3,value:"CONVECTOR"},ki.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"},ki.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"},ki.UNITHEATER={type:3,value:"UNITHEATER"},ki.USERDEFINED={type:3,value:"USERDEFINED"},ki.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xi=ki;t.IfcSpaceHeaterTypeEnum=Xi;const Ki=class{};Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zi=Ki;t.IfcSpaceTypeEnum=Zi;const qi=class{};qi.BIRDCAGE={type:3,value:"BIRDCAGE"},qi.COWL={type:3,value:"COWL"},qi.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},qi.USERDEFINED={type:3,value:"USERDEFINED"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qi=qi;t.IfcStackTerminalTypeEnum=Qi;const Ji=class{};Ji.STRAIGHT={type:3,value:"STRAIGHT"},Ji.WINDER={type:3,value:"WINDER"},Ji.SPIRAL={type:3,value:"SPIRAL"},Ji.CURVED={type:3,value:"CURVED"},Ji.FREEFORM={type:3,value:"FREEFORM"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"};let $i=Ji;t.IfcStairFlightTypeEnum=$i;const tr=class{};tr.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},tr.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},tr.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},tr.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},tr.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},tr.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},tr.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},tr.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},tr.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},tr.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},tr.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},tr.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},tr.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},tr.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let er=tr;t.IfcStairTypeEnum=er;const sr=class{};sr.READWRITE={type:3,value:"READWRITE"},sr.READONLY={type:3,value:"READONLY"},sr.LOCKED={type:3,value:"LOCKED"},sr.READWRITELOCKED={type:3,value:"READWRITELOCKED"},sr.READONLYLOCKED={type:3,value:"READONLYLOCKED"};let ir=sr;t.IfcStateEnum=ir;const rr=class{};rr.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},rr.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},rr.CABLE={type:3,value:"CABLE"},rr.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},rr.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"};let nr=rr;t.IfcStructuralCurveTypeEnum=nr;const ar=class{};ar.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},ar.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},ar.SHELL={type:3,value:"SHELL"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let or=ar;t.IfcStructuralSurfaceTypeEnum=or;const hr=class{};hr.POSITIVE={type:3,value:"POSITIVE"},hr.NEGATIVE={type:3,value:"NEGATIVE"},hr.BOTH={type:3,value:"BOTH"};let cr=hr;t.IfcSurfaceSide=cr;const lr=class{};lr.BUMP={type:3,value:"BUMP"},lr.OPACITY={type:3,value:"OPACITY"},lr.REFLECTION={type:3,value:"REFLECTION"},lr.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"},lr.SHININESS={type:3,value:"SHININESS"},lr.SPECULAR={type:3,value:"SPECULAR"},lr.TEXTURE={type:3,value:"TEXTURE"},lr.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let pr=lr;t.IfcSurfaceTextureEnum=pr;const ur=class{};ur.CONTACTOR={type:3,value:"CONTACTOR"},ur.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ur.STARTER={type:3,value:"STARTER"},ur.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ur.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let Er=ur;t.IfcSwitchingDeviceTypeEnum=Er;const Ir=class{};Ir.PREFORMED={type:3,value:"PREFORMED"},Ir.SECTIONAL={type:3,value:"SECTIONAL"},Ir.EXPANSION={type:3,value:"EXPANSION"},Ir.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"};let yr=Ir;t.IfcTankTypeEnum=yr;const Tr=class{};Tr.STRAND={type:3,value:"STRAND"},Tr.WIRE={type:3,value:"WIRE"},Tr.BAR={type:3,value:"BAR"},Tr.COATED={type:3,value:"COATED"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let dr=Tr;t.IfcTendonTypeEnum=dr;const Nr=class{};Nr.LEFT={type:3,value:"LEFT"},Nr.RIGHT={type:3,value:"RIGHT"},Nr.UP={type:3,value:"UP"},Nr.DOWN={type:3,value:"DOWN"};let Rr=Nr;t.IfcTextPath=Rr;const fr=class{};fr.PEOPLE={type:3,value:"PEOPLE"},fr.LIGHTING={type:3,value:"LIGHTING"},fr.EQUIPMENT={type:3,value:"EQUIPMENT"},fr.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"},fr.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"},fr.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"},fr.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"},fr.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"},fr.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"},fr.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"},fr.INFILTRATION={type:3,value:"INFILTRATION"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Or=fr;t.IfcThermalLoadSourceEnum=Or;const Dr=class{};Dr.SENSIBLE={type:3,value:"SENSIBLE"},Dr.LATENT={type:3,value:"LATENT"},Dr.RADIANT={type:3,value:"RADIANT"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"};let mr=Dr;t.IfcThermalLoadTypeEnum=mr;const Ar=class{};Ar.CONTINUOUS={type:3,value:"CONTINUOUS"},Ar.DISCRETE={type:3,value:"DISCRETE"},Ar.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Ar.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Ar.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Ar.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sr=Ar;t.IfcTimeSeriesDataTypeEnum=Sr;const Cr=class{};Cr.ANNUAL={type:3,value:"ANNUAL"},Cr.MONTHLY={type:3,value:"MONTHLY"},Cr.WEEKLY={type:3,value:"WEEKLY"},Cr.DAILY={type:3,value:"DAILY"},Cr.USERDEFINED={type:3,value:"USERDEFINED"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"};let vr=Cr;t.IfcTimeSeriesScheduleTypeEnum=vr;const Lr=class{};Lr.CURRENT={type:3,value:"CURRENT"},Lr.FREQUENCY={type:3,value:"FREQUENCY"},Lr.VOLTAGE={type:3,value:"VOLTAGE"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let br=Lr;t.IfcTransformerTypeEnum=br;const Pr=class{};Pr.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Pr.CONTINUOUS={type:3,value:"CONTINUOUS"},Pr.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Pr.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"};let gr=Pr;t.IfcTransitionCode=gr;const xr=class{};xr.ELEVATOR={type:3,value:"ELEVATOR"},xr.ESCALATOR={type:3,value:"ESCALATOR"},xr.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"};let _r=xr;t.IfcTransportElementTypeEnum=_r;const Mr=class{};Mr.CARTESIAN={type:3,value:"CARTESIAN"},Mr.PARAMETER={type:3,value:"PARAMETER"},Mr.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let Fr=Mr;t.IfcTrimmingPreference=Fr;const Ur=class{};Ur.FINNED={type:3,value:"FINNED"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let wr=Ur;t.IfcTubeBundleTypeEnum=wr;const Gr=class{};Gr.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Gr.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Gr.AREAUNIT={type:3,value:"AREAUNIT"},Gr.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Gr.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Gr.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Gr.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Gr.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Gr.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Gr.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Gr.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Gr.FORCEUNIT={type:3,value:"FORCEUNIT"},Gr.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Gr.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Gr.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Gr.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Gr.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Gr.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Gr.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Gr.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Gr.MASSUNIT={type:3,value:"MASSUNIT"},Gr.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Gr.POWERUNIT={type:3,value:"POWERUNIT"},Gr.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Gr.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Gr.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Gr.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Gr.TIMEUNIT={type:3,value:"TIMEUNIT"},Gr.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Gr.USERDEFINED={type:3,value:"USERDEFINED"};let Hr=Gr;t.IfcUnitEnum=Hr;const Br=class{};Br.AIRHANDLER={type:3,value:"AIRHANDLER"},Br.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},Br.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},Br.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vr=Br;t.IfcUnitaryEquipmentTypeEnum=Vr;const Wr=class{};Wr.AIRRELEASE={type:3,value:"AIRRELEASE"},Wr.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Wr.CHANGEOVER={type:3,value:"CHANGEOVER"},Wr.CHECK={type:3,value:"CHECK"},Wr.COMMISSIONING={type:3,value:"COMMISSIONING"},Wr.DIVERTING={type:3,value:"DIVERTING"},Wr.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Wr.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Wr.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Wr.FAUCET={type:3,value:"FAUCET"},Wr.FLUSHING={type:3,value:"FLUSHING"},Wr.GASCOCK={type:3,value:"GASCOCK"},Wr.GASTAP={type:3,value:"GASTAP"},Wr.ISOLATING={type:3,value:"ISOLATING"},Wr.MIXING={type:3,value:"MIXING"},Wr.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Wr.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Wr.REGULATING={type:3,value:"REGULATING"},Wr.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Wr.STEAMTRAP={type:3,value:"STEAMTRAP"},Wr.STOPCOCK={type:3,value:"STOPCOCK"},Wr.USERDEFINED={type:3,value:"USERDEFINED"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"};let jr=Wr;t.IfcValveTypeEnum=jr;const Yr=class{};Yr.COMPRESSION={type:3,value:"COMPRESSION"},Yr.SPRING={type:3,value:"SPRING"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let zr=Yr;t.IfcVibrationIsolatorTypeEnum=zr;const kr=class{};kr.STANDARD={type:3,value:"STANDARD"},kr.POLYGONAL={type:3,value:"POLYGONAL"},kr.SHEAR={type:3,value:"SHEAR"},kr.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},kr.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xr=kr;t.IfcWallTypeEnum=Xr;const Kr=class{};Kr.FLOORTRAP={type:3,value:"FLOORTRAP"},Kr.FLOORWASTE={type:3,value:"FLOORWASTE"},Kr.GULLYSUMP={type:3,value:"GULLYSUMP"},Kr.GULLYTRAP={type:3,value:"GULLYTRAP"},Kr.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"},Kr.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"},Kr.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"},Kr.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Kr.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Kr.WASTETRAP={type:3,value:"WASTETRAP"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zr=Kr;t.IfcWasteTerminalTypeEnum=Zr;const qr=class{};qr.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},qr.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},qr.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},qr.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},qr.TOPHUNG={type:3,value:"TOPHUNG"},qr.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},qr.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},qr.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},qr.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},qr.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},qr.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},qr.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},qr.OTHEROPERATION={type:3,value:"OTHEROPERATION"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qr=qr;t.IfcWindowPanelOperationEnum=Qr;const Jr=class{};Jr.LEFT={type:3,value:"LEFT"},Jr.MIDDLE={type:3,value:"MIDDLE"},Jr.RIGHT={type:3,value:"RIGHT"},Jr.BOTTOM={type:3,value:"BOTTOM"},Jr.TOP={type:3,value:"TOP"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"};let $r=Jr;t.IfcWindowPanelPositionEnum=$r;const tn=class{};tn.ALUMINIUM={type:3,value:"ALUMINIUM"},tn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},tn.STEEL={type:3,value:"STEEL"},tn.WOOD={type:3,value:"WOOD"},tn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},tn.PLASTIC={type:3,value:"PLASTIC"},tn.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"};let en=tn;t.IfcWindowStyleConstructionEnum=en;const sn=class{};sn.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},sn.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},sn.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},sn.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},sn.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},sn.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},sn.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},sn.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},sn.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let rn=sn;t.IfcWindowStyleOperationEnum=rn;const nn=class{};nn.ACTUAL={type:3,value:"ACTUAL"},nn.BASELINE={type:3,value:"BASELINE"},nn.PLANNED={type:3,value:"PLANNED"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"};let an=nn;t.IfcWorkControlTypeEnum=an;t.IfcActorRole=class extends Gu{constructor(t,e,s){super(),this.Role=t,this.UserDefinedRole=e,this.Description=s,this.type=3630933823}};class on extends Gu{constructor(t,e,s){super(),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.type=618182010}}t.IfcAddress=on;t.IfcApplication=class extends Gu{constructor(t,e,s,i){super(),this.ApplicationDeveloper=t,this.Version=e,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class hn extends Gu{constructor(t,e,s,i,r,n){super(),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.type=411424972}}t.IfcAppliedValue=hn;t.IfcAppliedValueRelationship=class extends Gu{constructor(t,e,s,i,r){super(),this.ComponentOfTotal=t,this.Components=e,this.ArithmeticOperator=s,this.Name=i,this.Description=r,this.type=1110488051}};t.IfcApproval=class extends Gu{constructor(t,e,s,i,r,n,a){super(),this.Description=t,this.ApprovalDateTime=e,this.ApprovalStatus=s,this.ApprovalLevel=i,this.ApprovalQualifier=r,this.Name=n,this.Identifier=a,this.type=130549933}};t.IfcApprovalActorRelationship=class extends Gu{constructor(t,e,s){super(),this.Actor=t,this.Approval=e,this.Role=s,this.type=2080292479}};t.IfcApprovalPropertyRelationship=class extends Gu{constructor(t,e){super(),this.ApprovedProperties=t,this.Approval=e,this.type=390851274}};t.IfcApprovalRelationship=class extends Gu{constructor(t,e,s,i){super(),this.RelatedApproval=t,this.RelatingApproval=e,this.Description=s,this.Name=i,this.type=3869604511}};class cn extends Gu{constructor(t){super(),this.Name=t,this.type=4037036970}}t.IfcBoundaryCondition=cn;t.IfcBoundaryEdgeCondition=class extends cn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.LinearStiffnessByLengthX=e,this.LinearStiffnessByLengthY=s,this.LinearStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=r,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};t.IfcBoundaryFaceCondition=class extends cn{constructor(t,e,s,i){super(t),this.Name=t,this.LinearStiffnessByAreaX=e,this.LinearStiffnessByAreaY=s,this.LinearStiffnessByAreaZ=i,this.type=3367102660}};class ln extends cn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.LinearStiffnessX=e,this.LinearStiffnessY=s,this.LinearStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}t.IfcBoundaryNodeCondition=ln;t.IfcBoundaryNodeConditionWarping=class extends ln{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.LinearStiffnessX=e,this.LinearStiffnessY=s,this.LinearStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=o,this.type=2069777674}};t.IfcCalendarDate=class extends Gu{constructor(t,e,s){super(),this.DayComponent=t,this.MonthComponent=e,this.YearComponent=s,this.type=622194075}};t.IfcClassification=class extends Gu{constructor(t,e,s,i){super(),this.Source=t,this.Edition=e,this.EditionDate=s,this.Name=i,this.type=747523909}};t.IfcClassificationItem=class extends Gu{constructor(t,e,s){super(),this.Notation=t,this.ItemOf=e,this.Title=s,this.type=1767535486}};t.IfcClassificationItemRelationship=class extends Gu{constructor(t,e){super(),this.RelatingItem=t,this.RelatedItems=e,this.type=1098599126}};t.IfcClassificationNotation=class extends Gu{constructor(t){super(),this.NotationFacets=t,this.type=938368621}};t.IfcClassificationNotationFacet=class extends Gu{constructor(t){super(),this.NotationValue=t,this.type=3639012971}};class pn extends Gu{constructor(t){super(),this.Name=t,this.type=3264961684}}t.IfcColourSpecification=pn;class un extends Gu{constructor(){super(),this.type=2859738748}}t.IfcConnectionGeometry=un;class En extends un{constructor(t,e){super(),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.type=2614616156}}t.IfcConnectionPointGeometry=En;t.IfcConnectionPortGeometry=class extends un{constructor(t,e,s){super(),this.LocationAtRelatingElement=t,this.LocationAtRelatedElement=e,this.ProfileOfPort=s,this.type=4257277454}};t.IfcConnectionSurfaceGeometry=class extends un{constructor(t,e){super(),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=e,this.type=2732653382}};class In extends Gu{constructor(t,e,s,i,r,n,a){super(),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}t.IfcConstraint=In;t.IfcConstraintAggregationRelationship=class extends Gu{constructor(t,e,s,i,r){super(),this.Name=t,this.Description=e,this.RelatingConstraint=s,this.RelatedConstraints=i,this.LogicalAggregator=r,this.type=1658513725}};t.IfcConstraintClassificationRelationship=class extends Gu{constructor(t,e){super(),this.ClassifiedConstraint=t,this.RelatedClassifications=e,this.type=613356794}};t.IfcConstraintRelationship=class extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.RelatingConstraint=s,this.RelatedConstraints=i,this.type=347226245}};t.IfcCoordinatedUniversalTimeOffset=class extends Gu{constructor(t,e,s){super(),this.HourOffset=t,this.MinuteOffset=e,this.Sense=s,this.type=1065062679}};t.IfcCostValue=class extends hn{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.CostType=a,this.Condition=o,this.type=602808272}};t.IfcCurrencyRelationship=class extends Gu{constructor(t,e,s,i,r){super(),this.RelatingMonetaryUnit=t,this.RelatedMonetaryUnit=e,this.ExchangeRate=s,this.RateDateTime=i,this.RateSource=r,this.type=539742890}};t.IfcCurveStyleFont=class extends Gu{constructor(t,e){super(),this.Name=t,this.PatternList=e,this.type=1105321065}};t.IfcCurveStyleFontAndScaling=class extends Gu{constructor(t,e,s){super(),this.Name=t,this.CurveFont=e,this.CurveFontScaling=s,this.type=2367409068}};t.IfcCurveStyleFontPattern=class extends Gu{constructor(t,e){super(),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=e,this.type=3510044353}};t.IfcDateAndTime=class extends Gu{constructor(t,e){super(),this.DateComponent=t,this.TimeComponent=e,this.type=1072939445}};t.IfcDerivedUnit=class extends Gu{constructor(t,e,s){super(),this.Elements=t,this.UnitType=e,this.UserDefinedType=s,this.type=1765591967}};t.IfcDerivedUnitElement=class extends Gu{constructor(t,e){super(),this.Unit=t,this.Exponent=e,this.type=1045800335}};t.IfcDimensionalExponents=class extends Gu{constructor(t,e,s,i,r,n,a){super(),this.LengthExponent=t,this.MassExponent=e,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=r,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};t.IfcDocumentElectronicFormat=class extends Gu{constructor(t,e,s){super(),this.FileExtension=t,this.MimeContentType=e,this.MimeSubtype=s,this.type=1376555844}};t.IfcDocumentInformation=class extends Gu{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(),this.DocumentId=t,this.Name=e,this.Description=s,this.DocumentReferences=i,this.Purpose=r,this.IntendedUse=n,this.Scope=a,this.Revision=o,this.DocumentOwner=h,this.Editors=c,this.CreationTime=l,this.LastRevisionTime=p,this.ElectronicFormat=u,this.ValidFrom=E,this.ValidUntil=I,this.Confidentiality=y,this.Status=T,this.type=1154170062}};t.IfcDocumentInformationRelationship=class extends Gu{constructor(t,e,s){super(),this.RelatingDocument=t,this.RelatedDocuments=e,this.RelationshipType=s,this.type=770865208}};class yn extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=3796139169}}t.IfcDraughtingCalloutRelationship=yn;t.IfcEnvironmentalImpactValue=class extends hn{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.ImpactType=a,this.Category=o,this.UserDefinedCategory=h,this.type=1648886627}};class Tn extends Gu{constructor(t,e,s){super(),this.Location=t,this.ItemReference=e,this.Name=s,this.type=3200245327}}t.IfcExternalReference=Tn;t.IfcExternallyDefinedHatchStyle=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=2242383968}};t.IfcExternallyDefinedSurfaceStyle=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=1040185647}};t.IfcExternallyDefinedSymbol=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=3207319532}};t.IfcExternallyDefinedTextFont=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=3548104201}};t.IfcGridAxis=class extends Gu{constructor(t,e,s){super(),this.AxisTag=t,this.AxisCurve=e,this.SameSense=s,this.type=852622518}};t.IfcIrregularTimeSeriesValue=class extends Gu{constructor(t,e){super(),this.TimeStamp=t,this.ListValues=e,this.type=3020489413}};t.IfcLibraryInformation=class extends Gu{constructor(t,e,s,i,r){super(),this.Name=t,this.Version=e,this.Publisher=s,this.VersionDate=i,this.LibraryReference=r,this.type=2655187982}};t.IfcLibraryReference=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=3452421091}};t.IfcLightDistributionData=class extends Gu{constructor(t,e,s){super(),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=e,this.LuminousIntensity=s,this.type=4162380809}};t.IfcLightIntensityDistribution=class extends Gu{constructor(t,e){super(),this.LightDistributionCurve=t,this.DistributionData=e,this.type=1566485204}};t.IfcLocalTime=class extends Gu{constructor(t,e,s,i,r){super(),this.HourComponent=t,this.MinuteComponent=e,this.SecondComponent=s,this.Zone=i,this.DaylightSavingOffset=r,this.type=30780891}};t.IfcMaterial=class extends Gu{constructor(t){super(),this.Name=t,this.type=1838606355}};t.IfcMaterialClassificationRelationship=class extends Gu{constructor(t,e){super(),this.MaterialClassifications=t,this.ClassifiedMaterial=e,this.type=1847130766}};t.IfcMaterialLayer=class extends Gu{constructor(t,e,s){super(),this.Material=t,this.LayerThickness=e,this.IsVentilated=s,this.type=248100487}};t.IfcMaterialLayerSet=class extends Gu{constructor(t,e){super(),this.MaterialLayers=t,this.LayerSetName=e,this.type=3303938423}};t.IfcMaterialLayerSetUsage=class extends Gu{constructor(t,e,s,i){super(),this.ForLayerSet=t,this.LayerSetDirection=e,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.type=1303795690}};t.IfcMaterialList=class extends Gu{constructor(t){super(),this.Materials=t,this.type=2199411900}};class dn extends Gu{constructor(t){super(),this.Material=t,this.type=3265635763}}t.IfcMaterialProperties=dn;t.IfcMeasureWithUnit=class extends Gu{constructor(t,e){super(),this.ValueComponent=t,this.UnitComponent=e,this.type=2597039031}};class Nn extends dn{constructor(t,e,s,i,r,n){super(t),this.Material=t,this.DynamicViscosity=e,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=r,this.ThermalExpansionCoefficient=n,this.type=4256014907}}t.IfcMechanicalMaterialProperties=Nn;t.IfcMechanicalSteelMaterialProperties=class extends Nn{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n),this.Material=t,this.DynamicViscosity=e,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=r,this.ThermalExpansionCoefficient=n,this.YieldStress=a,this.UltimateStress=o,this.UltimateStrain=h,this.HardeningModule=c,this.ProportionalStress=l,this.PlasticStrain=p,this.Relaxations=u,this.type=677618848}};t.IfcMetric=class extends In{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=o,this.ValueSource=h,this.DataValue=c,this.type=3368373690}};t.IfcMonetaryUnit=class extends Gu{constructor(t){super(),this.Currency=t,this.type=2706619895}};class Rn extends Gu{constructor(t,e){super(),this.Dimensions=t,this.UnitType=e,this.type=1918398963}}t.IfcNamedUnit=Rn;class fn extends Gu{constructor(){super(),this.type=3701648758}}t.IfcObjectPlacement=fn;t.IfcObjective=class extends In{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=o,this.ResultValues=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=l,this.type=2251480897}};t.IfcOpticalMaterialProperties=class extends dn{constructor(t,e,s,i,r,n,a,o,h,c){super(t),this.Material=t,this.VisibleTransmittance=e,this.SolarTransmittance=s,this.ThermalIrTransmittance=i,this.ThermalIrEmissivityBack=r,this.ThermalIrEmissivityFront=n,this.VisibleReflectanceBack=a,this.VisibleReflectanceFront=o,this.SolarReflectanceFront=h,this.SolarReflectanceBack=c,this.type=1227763645}};t.IfcOrganization=class extends Gu{constructor(t,e,s,i,r){super(),this.Id=t,this.Name=e,this.Description=s,this.Roles=i,this.Addresses=r,this.type=4251960020}};t.IfcOrganizationRelationship=class extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}};t.IfcOwnerHistory=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.OwningUser=t,this.OwningApplication=e,this.State=s,this.ChangeAction=i,this.LastModifiedDate=r,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=o,this.type=1207048766}};t.IfcPerson=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Id=t,this.FamilyName=e,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=r,this.SuffixTitles=n,this.Roles=a,this.Addresses=o,this.type=2077209135}};t.IfcPersonAndOrganization=class extends Gu{constructor(t,e,s){super(),this.ThePerson=t,this.TheOrganization=e,this.Roles=s,this.type=101040310}};class On extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2483315170}}t.IfcPhysicalQuantity=On;class Dn extends On{constructor(t,e,s){super(t,e),this.Name=t,this.Description=e,this.Unit=s,this.type=2226359599}}t.IfcPhysicalSimpleQuantity=Dn;t.IfcPostalAddress=class extends on{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=r,this.PostalBox=n,this.Town=a,this.Region=o,this.PostalCode=h,this.Country=c,this.type=3355820592}};class mn extends Gu{constructor(t){super(),this.Name=t,this.type=3727388367}}t.IfcPreDefinedItem=mn;class An extends mn{constructor(t){super(t),this.Name=t,this.type=990879717}}t.IfcPreDefinedSymbol=An;t.IfcPreDefinedTerminatorSymbol=class extends An{constructor(t){super(t),this.Name=t,this.type=3213052703}};class Sn extends mn{constructor(t){super(t),this.Name=t,this.type=1775413392}}t.IfcPreDefinedTextFont=Sn;class Cn extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}t.IfcPresentationLayerAssignment=Cn;t.IfcPresentationLayerWithStyle=class extends Cn{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.LayerOn=r,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=o,this.type=1304840413}};class vn extends Gu{constructor(t){super(),this.Name=t,this.type=3119450353}}t.IfcPresentationStyle=vn;t.IfcPresentationStyleAssignment=class extends Gu{constructor(t){super(),this.Styles=t,this.type=2417041796}};class Ln extends Gu{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Representations=s,this.type=2095639259}}t.IfcProductRepresentation=Ln;t.IfcProductsOfCombustionProperties=class extends dn{constructor(t,e,s,i,r){super(t),this.Material=t,this.SpecificHeatCapacity=e,this.N20Content=s,this.COContent=i,this.CO2Content=r,this.type=2267347899}};class bn extends Gu{constructor(t,e){super(),this.ProfileType=t,this.ProfileName=e,this.type=3958567839}}t.IfcProfileDef=bn;class Pn extends Gu{constructor(t,e){super(),this.ProfileName=t,this.ProfileDefinition=e,this.type=2802850158}}t.IfcProfileProperties=Pn;class gn extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2598011224}}t.IfcProperty=gn;t.IfcPropertyConstraintRelationship=class extends Gu{constructor(t,e,s,i){super(),this.RelatingConstraint=t,this.RelatedProperties=e,this.Name=s,this.Description=i,this.type=3896028662}};t.IfcPropertyDependencyRelationship=class extends Gu{constructor(t,e,s,i,r){super(),this.DependingProperty=t,this.DependantProperty=e,this.Name=s,this.Description=i,this.Expression=r,this.type=148025276}};t.IfcPropertyEnumeration=class extends Gu{constructor(t,e,s){super(),this.Name=t,this.EnumerationValues=e,this.Unit=s,this.type=3710013099}};t.IfcQuantityArea=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.AreaValue=i,this.type=2044713172}};t.IfcQuantityCount=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.CountValue=i,this.type=2093928680}};t.IfcQuantityLength=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.LengthValue=i,this.type=931644368}};t.IfcQuantityTime=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.TimeValue=i,this.type=3252649465}};t.IfcQuantityVolume=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.VolumeValue=i,this.type=2405470396}};t.IfcQuantityWeight=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.WeightValue=i,this.type=825690147}};t.IfcReferencesValueDocument=class extends Gu{constructor(t,e,s,i){super(),this.ReferencedDocument=t,this.ReferencingValues=e,this.Name=s,this.Description=i,this.type=2692823254}};t.IfcReinforcementBarProperties=class extends Gu{constructor(t,e,s,i,r,n){super(),this.TotalCrossSectionArea=t,this.SteelGrade=e,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=r,this.BarCount=n,this.type=1580146022}};t.IfcRelaxation=class extends Gu{constructor(t,e){super(),this.RelaxationValue=t,this.InitialStress=e,this.type=1222501353}};class xn extends Gu{constructor(t,e,s,i){super(),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1076942058}}t.IfcRepresentation=xn;class _n extends Gu{constructor(t,e){super(),this.ContextIdentifier=t,this.ContextType=e,this.type=3377609919}}t.IfcRepresentationContext=_n;class Mn extends Gu{constructor(){super(),this.type=3008791417}}t.IfcRepresentationItem=Mn;t.IfcRepresentationMap=class extends Gu{constructor(t,e){super(),this.MappingOrigin=t,this.MappedRepresentation=e,this.type=1660063152}};t.IfcRibPlateProfileProperties=class extends Pn{constructor(t,e,s,i,r,n,a){super(t,e),this.ProfileName=t,this.ProfileDefinition=e,this.Thickness=s,this.RibHeight=i,this.RibWidth=r,this.RibSpacing=n,this.Direction=a,this.type=3679540991}};class Fn extends Gu{constructor(t,e,s,i){super(),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2341007311}}t.IfcRoot=Fn;t.IfcSIUnit=class extends Rn{constructor(t,e,s){super(new Uu(0),t),this.UnitType=t,this.Prefix=e,this.Name=s,this.type=448429030}};t.IfcSectionProperties=class extends Gu{constructor(t,e,s){super(),this.SectionType=t,this.StartProfile=e,this.EndProfile=s,this.type=2042790032}};t.IfcSectionReinforcementProperties=class extends Gu{constructor(t,e,s,i,r,n){super(),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=e,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=r,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};t.IfcShapeAspect=class extends Gu{constructor(t,e,s,i,r){super(),this.ShapeRepresentations=t,this.Name=e,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=r,this.type=867548509}};class Un extends xn{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3982875396}}t.IfcShapeModel=Un;t.IfcShapeRepresentation=class extends Un{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class wn extends gn{constructor(t,e){super(t,e),this.Name=t,this.Description=e,this.type=3692461612}}t.IfcSimpleProperty=wn;class Gn extends Gu{constructor(t){super(),this.Name=t,this.type=2273995522}}t.IfcStructuralConnectionCondition=Gn;class Hn extends Gu{constructor(t){super(),this.Name=t,this.type=2162789131}}t.IfcStructuralLoad=Hn;class Bn extends Hn{constructor(t){super(t),this.Name=t,this.type=2525727697}}t.IfcStructuralLoadStatic=Bn;t.IfcStructuralLoadTemperature=class extends Bn{constructor(t,e,s,i){super(t),this.Name=t,this.DeltaT_Constant=e,this.DeltaT_Y=s,this.DeltaT_Z=i,this.type=3408363356}};class Vn extends xn{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=2830218821}}t.IfcStyleModel=Vn;class Wn extends Mn{constructor(t,e,s){super(),this.Item=t,this.Styles=e,this.Name=s,this.type=3958052878}}t.IfcStyledItem=Wn;t.IfcStyledRepresentation=class extends Vn{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3049322572}};t.IfcSurfaceStyle=class extends vn{constructor(t,e,s){super(t),this.Name=t,this.Side=e,this.Styles=s,this.type=1300840506}};t.IfcSurfaceStyleLighting=class extends Gu{constructor(t,e,s,i){super(),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=e,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}};t.IfcSurfaceStyleRefraction=class extends Gu{constructor(t,e){super(),this.RefractionIndex=t,this.DispersionFactor=e,this.type=1607154358}};class jn extends Gu{constructor(t){super(),this.SurfaceColour=t,this.type=846575682}}t.IfcSurfaceStyleShading=jn;t.IfcSurfaceStyleWithTextures=class extends Gu{constructor(t){super(),this.Textures=t,this.type=1351298697}};class Yn extends Gu{constructor(t,e,s,i){super(),this.RepeatS=t,this.RepeatT=e,this.TextureType=s,this.TextureTransform=i,this.type=626085974}}t.IfcSurfaceTexture=Yn;t.IfcSymbolStyle=class extends vn{constructor(t,e){super(t),this.Name=t,this.StyleOfSymbol=e,this.type=1290481447}};t.IfcTable=class extends Gu{constructor(t,e){super(),this.Name=t,this.Rows=e,this.type=985171141}};t.IfcTableRow=class extends Gu{constructor(t,e){super(),this.RowCells=t,this.IsHeading=e,this.type=531007025}};t.IfcTelecomAddress=class extends on{constructor(t,e,s,i,r,n,a,o){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=r,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=o,this.type=912023232}};t.IfcTextStyle=class extends vn{constructor(t,e,s,i){super(t),this.Name=t,this.TextCharacterAppearance=e,this.TextStyle=s,this.TextFontStyle=i,this.type=1447204868}};t.IfcTextStyleFontModel=class extends Sn{constructor(t,e,s,i,r,n){super(t),this.Name=t,this.FontFamily=e,this.FontStyle=s,this.FontVariant=i,this.FontWeight=r,this.FontSize=n,this.type=1983826977}};t.IfcTextStyleForDefinedFont=class extends Gu{constructor(t,e){super(),this.Colour=t,this.BackgroundColour=e,this.type=2636378356}};t.IfcTextStyleTextModel=class extends Gu{constructor(t,e,s,i,r,n,a){super(),this.TextIndent=t,this.TextAlign=e,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=r,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};t.IfcTextStyleWithBoxCharacteristics=class extends Gu{constructor(t,e,s,i,r){super(),this.BoxHeight=t,this.BoxWidth=e,this.BoxSlantAngle=s,this.BoxRotateAngle=i,this.CharacterSpacing=r,this.type=1484833681}};class zn extends Gu{constructor(){super(),this.type=280115917}}t.IfcTextureCoordinate=zn;t.IfcTextureCoordinateGenerator=class extends zn{constructor(t,e){super(),this.Mode=t,this.Parameter=e,this.type=1742049831}};t.IfcTextureMap=class extends zn{constructor(t){super(),this.TextureMaps=t,this.type=2552916305}};t.IfcTextureVertex=class extends Gu{constructor(t){super(),this.Coordinates=t,this.type=1210645708}};t.IfcThermalMaterialProperties=class extends dn{constructor(t,e,s,i,r){super(t),this.Material=t,this.SpecificHeatCapacity=e,this.BoilingPoint=s,this.FreezingPoint=i,this.ThermalConductivity=r,this.type=3317419933}};class kn extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.type=3101149627}}t.IfcTimeSeries=kn;t.IfcTimeSeriesReferenceRelationship=class extends Gu{constructor(t,e){super(),this.ReferencedTimeSeries=t,this.TimeSeriesReferences=e,this.type=1718945513}};t.IfcTimeSeriesValue=class extends Gu{constructor(t){super(),this.ListValues=t,this.type=581633288}};class Xn extends Mn{constructor(){super(),this.type=1377556343}}t.IfcTopologicalRepresentationItem=Xn;t.IfcTopologyRepresentation=class extends Un{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1735638870}};t.IfcUnitAssignment=class extends Gu{constructor(t){super(),this.Units=t,this.type=180925521}};class Kn extends Xn{constructor(){super(),this.type=2799835756}}t.IfcVertex=Kn;t.IfcVertexBasedTextureMap=class extends Gu{constructor(t,e){super(),this.TextureVertices=t,this.TexturePoints=e,this.type=3304826586}};t.IfcVertexPoint=class extends Kn{constructor(t){super(),this.VertexGeometry=t,this.type=1907098498}};t.IfcVirtualGridIntersection=class extends Gu{constructor(t,e){super(),this.IntersectingAxes=t,this.OffsetDistances=e,this.type=891718957}};t.IfcWaterProperties=class extends dn{constructor(t,e,s,i,r,n,a,o){super(t),this.Material=t,this.IsPotable=e,this.Hardness=s,this.AlkalinityConcentration=i,this.AcidityConcentration=r,this.ImpuritiesContent=n,this.PHLevel=a,this.DissolvedSolidsContent=o,this.type=1065908215}};class Zn extends Wn{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=2442683028}}t.IfcAnnotationOccurrence=Zn;t.IfcAnnotationSurfaceOccurrence=class extends Zn{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=962685235}};class qn extends Zn{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=3612888222}}t.IfcAnnotationSymbolOccurrence=qn;t.IfcAnnotationTextOccurrence=class extends Zn{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=2297822566}};class Qn extends bn{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.type=3798115385}}t.IfcArbitraryClosedProfileDef=Qn;class Jn extends bn{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.type=1310608509}}t.IfcArbitraryOpenProfileDef=Jn;t.IfcArbitraryProfileDefWithVoids=class extends Qn{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}};t.IfcBlobTexture=class extends Yn{constructor(t,e,s,i,r,n){super(t,e,s,i),this.RepeatS=t,this.RepeatT=e,this.TextureType=s,this.TextureTransform=i,this.RasterFormat=r,this.RasterCode=n,this.type=616511568}};t.IfcCenterLineProfileDef=class extends Jn{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.Thickness=i,this.type=3150382593}};t.IfcClassificationReference=class extends Tn{constructor(t,e,s,i){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.ReferencedSource=i,this.type=647927063}};t.IfcColourRgb=class extends pn{constructor(t,e,s,i){super(t),this.Name=t,this.Red=e,this.Green=s,this.Blue=i,this.type=776857604}};t.IfcComplexProperty=class extends gn{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.UsageName=s,this.HasProperties=i,this.type=2542286263}};t.IfcCompositeProfileDef=class extends bn{constructor(t,e,s,i){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Profiles=s,this.Label=i,this.type=1485152156}};class $n extends Xn{constructor(t){super(),this.CfsFaces=t,this.type=370225590}}t.IfcConnectedFaceSet=$n;t.IfcConnectionCurveGeometry=class extends un{constructor(t,e){super(),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=e,this.type=1981873012}};t.IfcConnectionPointEccentricity=class extends En{constructor(t,e,s,i,r){super(t,e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=r,this.type=45288368}};t.IfcContextDependentUnit=class extends Rn{constructor(t,e,s){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.type=3050246964}};t.IfcConversionBasedUnit=class extends Rn{constructor(t,e,s,i){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.ConversionFactor=i,this.type=2889183280}};t.IfcCurveStyle=class extends vn{constructor(t,e,s,i){super(t),this.Name=t,this.CurveFont=e,this.CurveWidth=s,this.CurveColour=i,this.type=3800577675}};t.IfcDerivedProfileDef=class extends bn{constructor(t,e,s,i,r){super(t,e),this.ProfileType=t,this.ProfileName=e,this.ParentProfile=s,this.Operator=i,this.Label=r,this.type=3632507154}};t.IfcDimensionCalloutRelationship=class extends yn{constructor(t,e,s,i){super(t,e,s,i),this.Name=t,this.Description=e,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=2273265877}};t.IfcDimensionPair=class extends yn{constructor(t,e,s,i){super(t,e,s,i),this.Name=t,this.Description=e,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=1694125774}};t.IfcDocumentReference=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=3732053477}};t.IfcDraughtingPreDefinedTextFont=class extends Sn{constructor(t){super(t),this.Name=t,this.type=4170525392}};class ta extends Xn{constructor(t,e){super(),this.EdgeStart=t,this.EdgeEnd=e,this.type=3900360178}}t.IfcEdge=ta;t.IfcEdgeCurve=class extends ta{constructor(t,e,s,i){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}};t.IfcExtendedMaterialProperties=class extends dn{constructor(t,e,s,i){super(t),this.Material=t,this.ExtendedProperties=e,this.Description=s,this.Name=i,this.type=1860660968}};class ea extends Xn{constructor(t){super(),this.Bounds=t,this.type=2556980723}}t.IfcFace=ea;class sa extends Xn{constructor(t,e){super(),this.Bound=t,this.Orientation=e,this.type=1809719519}}t.IfcFaceBound=sa;t.IfcFaceOuterBound=class extends sa{constructor(t,e){super(t,e),this.Bound=t,this.Orientation=e,this.type=803316827}};t.IfcFaceSurface=class extends ea{constructor(t,e,s){super(t),this.Bounds=t,this.FaceSurface=e,this.SameSense=s,this.type=3008276851}};t.IfcFailureConnectionCondition=class extends Gn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TensionFailureX=e,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=r,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};t.IfcFillAreaStyle=class extends vn{constructor(t,e){super(t),this.Name=t,this.FillStyles=e,this.type=738692330}};t.IfcFuelProperties=class extends dn{constructor(t,e,s,i,r){super(t),this.Material=t,this.CombustionTemperature=e,this.CarbonContent=s,this.LowerHeatingValue=i,this.HigherHeatingValue=r,this.type=3857492461}};t.IfcGeneralMaterialProperties=class extends dn{constructor(t,e,s,i){super(t),this.Material=t,this.MolecularWeight=e,this.Porosity=s,this.MassDensity=i,this.type=803998398}};class ia extends Pn{constructor(t,e,s,i,r,n,a){super(t,e),this.ProfileName=t,this.ProfileDefinition=e,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=r,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.type=1446786286}}t.IfcGeneralProfileProperties=ia;class ra extends _n{constructor(t,e,s,i,r,n){super(t,e),this.ContextIdentifier=t,this.ContextType=e,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=r,this.TrueNorth=n,this.type=3448662350}}t.IfcGeometricRepresentationContext=ra;class na extends Mn{constructor(){super(),this.type=2453401579}}t.IfcGeometricRepresentationItem=na;t.IfcGeometricRepresentationSubContext=class extends ra{constructor(t,s,i,r,n,a){super(t,s,new e(0),null,new Uu(0),null),this.ContextIdentifier=t,this.ContextType=s,this.ParentContext=i,this.TargetScale=r,this.TargetView=n,this.UserDefinedTargetView=a,this.type=4142052618}};class aa extends na{constructor(t){super(),this.Elements=t,this.type=3590301190}}t.IfcGeometricSet=aa;t.IfcGridPlacement=class extends fn{constructor(t,e){super(),this.PlacementLocation=t,this.PlacementRefDirection=e,this.type=178086475}};class oa extends na{constructor(t,e){super(),this.BaseSurface=t,this.AgreementFlag=e,this.type=812098782}}t.IfcHalfSpaceSolid=oa;t.IfcHygroscopicMaterialProperties=class extends dn{constructor(t,e,s,i,r,n){super(t),this.Material=t,this.UpperVaporResistanceFactor=e,this.LowerVaporResistanceFactor=s,this.IsothermalMoistureCapacity=i,this.VaporPermeability=r,this.MoistureDiffusivity=n,this.type=2445078500}};t.IfcImageTexture=class extends Yn{constructor(t,e,s,i,r){super(t,e,s,i),this.RepeatS=t,this.RepeatT=e,this.TextureType=s,this.TextureTransform=i,this.UrlReference=r,this.type=3905492369}};t.IfcIrregularTimeSeries=class extends kn{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.Values=h,this.type=3741457305}};class ha extends na{constructor(t,e,s,i){super(),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}t.IfcLightSource=ha;t.IfcLightSourceAmbient=class extends ha{constructor(t,e,s,i){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}};t.IfcLightSourceDirectional=class extends ha{constructor(t,e,s,i,r){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=r,this.type=2604431987}};t.IfcLightSourceGoniometric=class extends ha{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=o,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class ca extends ha{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.type=1520743889}}t.IfcLightSourcePositional=ca;t.IfcLightSourceSpot=class extends ca{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=l,this.SpreadAngle=p,this.BeamWidthAngle=u,this.type=3422422726}};t.IfcLocalPlacement=class extends fn{constructor(t,e){super(),this.PlacementRelTo=t,this.RelativePlacement=e,this.type=2624227202}};class la extends Xn{constructor(){super(),this.type=1008929658}}t.IfcLoop=la;t.IfcMappedItem=class extends Mn{constructor(t,e){super(),this.MappingSource=t,this.MappingTarget=e,this.type=2347385850}};t.IfcMaterialDefinitionRepresentation=class extends Ln{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}};t.IfcMechanicalConcreteMaterialProperties=class extends Nn{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n),this.Material=t,this.DynamicViscosity=e,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=r,this.ThermalExpansionCoefficient=n,this.CompressiveStrength=a,this.MaxAggregateSize=o,this.AdmixturesDescription=h,this.Workability=c,this.ProtectivePoreRatio=l,this.WaterImpermeability=p,this.type=1430189142}};class pa extends Fn{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=219451334}}t.IfcObjectDefinition=pa;class ua extends na{constructor(t){super(),this.RepeatFactor=t,this.type=2833995503}}t.IfcOneDirectionRepeatFactor=ua;t.IfcOpenShell=class extends $n{constructor(t){super(t),this.CfsFaces=t,this.type=2665983363}};t.IfcOrientedEdge=class extends ta{constructor(t,e){super(new Uu(0),new Uu(0)),this.EdgeElement=t,this.Orientation=e,this.type=1029017970}};class Ea extends bn{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.type=2529465313}}t.IfcParameterizedProfileDef=Ea;t.IfcPath=class extends Xn{constructor(t){super(),this.EdgeList=t,this.type=2519244187}};t.IfcPhysicalComplexQuantity=class extends On{constructor(t,e,s,i,r,n){super(t,e),this.Name=t,this.Description=e,this.HasQuantities=s,this.Discrimination=i,this.Quality=r,this.Usage=n,this.type=3021840470}};t.IfcPixelTexture=class extends Yn{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.RepeatS=t,this.RepeatT=e,this.TextureType=s,this.TextureTransform=i,this.Width=r,this.Height=n,this.ColourComponents=a,this.Pixel=o,this.type=597895409}};class Ia extends na{constructor(t){super(),this.Location=t,this.type=2004835150}}t.IfcPlacement=Ia;class ya extends na{constructor(t,e){super(),this.SizeInX=t,this.SizeInY=e,this.type=1663979128}}t.IfcPlanarExtent=ya;class Ta extends na{constructor(){super(),this.type=2067069095}}t.IfcPoint=Ta;t.IfcPointOnCurve=class extends Ta{constructor(t,e){super(),this.BasisCurve=t,this.PointParameter=e,this.type=4022376103}};t.IfcPointOnSurface=class extends Ta{constructor(t,e,s){super(),this.BasisSurface=t,this.PointParameterU=e,this.PointParameterV=s,this.type=1423911732}};t.IfcPolyLoop=class extends la{constructor(t){super(),this.Polygon=t,this.type=2924175390}};t.IfcPolygonalBoundedHalfSpace=class extends oa{constructor(t,e,s,i){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class da extends mn{constructor(t){super(t),this.Name=t,this.type=759155922}}t.IfcPreDefinedColour=da;class Na extends mn{constructor(t){super(t),this.Name=t,this.type=2559016684}}t.IfcPreDefinedCurveFont=Na;t.IfcPreDefinedDimensionSymbol=class extends An{constructor(t){super(t),this.Name=t,this.type=433424934}};t.IfcPreDefinedPointMarkerSymbol=class extends An{constructor(t){super(t),this.Name=t,this.type=179317114}};t.IfcProductDefinitionShape=class extends Ln{constructor(t,e,s){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.type=673634403}};t.IfcPropertyBoundedValue=class extends wn{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=r,this.type=871118103}};class Ra extends Fn{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=1680319473}}t.IfcPropertyDefinition=Ra;t.IfcPropertyEnumeratedValue=class extends wn{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}};t.IfcPropertyListValue=class extends wn{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.ListValues=s,this.Unit=i,this.type=2752243245}};t.IfcPropertyReferenceValue=class extends wn{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.UsageName=s,this.PropertyReference=i,this.type=941946838}};class fa extends Ra{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3357820518}}t.IfcPropertySetDefinition=fa;t.IfcPropertySingleValue=class extends wn{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.NominalValue=s,this.Unit=i,this.type=3650150729}};t.IfcPropertyTableValue=class extends wn{constructor(t,e,s,i,r,n,a){super(t,e),this.Name=t,this.Description=e,this.DefiningValues=s,this.DefinedValues=i,this.Expression=r,this.DefiningUnit=n,this.DefinedUnit=a,this.type=110355661}};class Oa extends Ea{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.type=3615266464}}t.IfcRectangleProfileDef=Oa;t.IfcRegularTimeSeries=class extends kn{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.TimeStep=h,this.Values=c,this.type=3413951693}};t.IfcReinforcementDefinitionProperties=class extends fa{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.DefinitionType=r,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class Da extends Fn{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=478536968}}t.IfcRelationship=Da;t.IfcRoundedRectangleProfileDef=class extends Oa{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.RoundingRadius=n,this.type=2778083089}};t.IfcSectionedSpine=class extends na{constructor(t,e,s){super(),this.SpineCurve=t,this.CrossSections=e,this.CrossSectionPositions=s,this.type=1509187699}};t.IfcServiceLifeFactor=class extends fa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.PredefinedType=r,this.UpperValue=n,this.MostUsedValue=a,this.LowerValue=o,this.type=2411513650}};t.IfcShellBasedSurfaceModel=class extends na{constructor(t){super(),this.SbsmBoundary=t,this.type=4124623270}};t.IfcSlippageConnectionCondition=class extends Gn{constructor(t,e,s,i){super(t),this.Name=t,this.SlippageX=e,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class ma extends na{constructor(){super(),this.type=723233188}}t.IfcSolidModel=ma;t.IfcSoundProperties=class extends fa{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.IsAttenuating=r,this.SoundScale=n,this.SoundValues=a,this.type=2485662743}};t.IfcSoundValue=class extends fa{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.SoundLevelTimeSeries=r,this.Frequency=n,this.SoundLevelSingleValue=a,this.type=1202362311}};t.IfcSpaceThermalLoadProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableValueRatio=r,this.ThermalLoadSource=n,this.PropertySource=a,this.SourceDescription=o,this.MaximumValue=h,this.MinimumValue=c,this.ThermalLoadTimeSeriesValues=l,this.UserDefinedThermalLoadSource=p,this.UserDefinedPropertySource=u,this.ThermalLoadType=E,this.type=390701378}};t.IfcStructuralLoadLinearForce=class extends Bn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.LinearForceX=e,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=r,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};t.IfcStructuralLoadPlanarForce=class extends Bn{constructor(t,e,s,i){super(t),this.Name=t,this.PlanarForceX=e,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class Aa extends Bn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}t.IfcStructuralLoadSingleDisplacement=Aa;t.IfcStructuralLoadSingleDisplacementDistortion=class extends Aa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=o,this.type=1973038258}};class Sa extends Bn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}t.IfcStructuralLoadSingleForce=Sa;t.IfcStructuralLoadSingleForceWarping=class extends Sa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=o,this.type=1190533807}};class Ca extends ia{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D){super(t,e,s,i,r,n,a),this.ProfileName=t,this.ProfileDefinition=e,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=r,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.TorsionalConstantX=o,this.MomentOfInertiaYZ=h,this.MomentOfInertiaY=c,this.MomentOfInertiaZ=l,this.WarpingConstant=p,this.ShearCentreZ=u,this.ShearCentreY=E,this.ShearDeformationAreaZ=I,this.ShearDeformationAreaY=y,this.MaximumSectionModulusY=T,this.MinimumSectionModulusY=d,this.MaximumSectionModulusZ=N,this.MinimumSectionModulusZ=R,this.TorsionalSectionModulus=f,this.CentreOfGravityInX=O,this.CentreOfGravityInY=D,this.type=3843319758}}t.IfcStructuralProfileProperties=Ca;t.IfcStructuralSteelProfileProperties=class extends Ca{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D,m,A,S,C){super(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D),this.ProfileName=t,this.ProfileDefinition=e,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=r,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.TorsionalConstantX=o,this.MomentOfInertiaYZ=h,this.MomentOfInertiaY=c,this.MomentOfInertiaZ=l,this.WarpingConstant=p,this.ShearCentreZ=u,this.ShearCentreY=E,this.ShearDeformationAreaZ=I,this.ShearDeformationAreaY=y,this.MaximumSectionModulusY=T,this.MinimumSectionModulusY=d,this.MaximumSectionModulusZ=N,this.MinimumSectionModulusZ=R,this.TorsionalSectionModulus=f,this.CentreOfGravityInX=O,this.CentreOfGravityInY=D,this.ShearAreaZ=m,this.ShearAreaY=A,this.PlasticShapeFactorY=S,this.PlasticShapeFactorZ=C,this.type=3653947884}};t.IfcSubedge=class extends ta{constructor(t,e,s){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.ParentEdge=s,this.type=2233826070}};class va extends na{constructor(){super(),this.type=2513912981}}t.IfcSurface=va;t.IfcSurfaceStyleRendering=class extends jn{constructor(t,e,s,i,r,n,a,o,h){super(t),this.SurfaceColour=t,this.Transparency=e,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=r,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=o,this.ReflectanceMethod=h,this.type=1878645084}};class La extends ma{constructor(t,e){super(),this.SweptArea=t,this.Position=e,this.type=2247615214}}t.IfcSweptAreaSolid=La;t.IfcSweptDiskSolid=class extends ma{constructor(t,e,s,i,r){super(),this.Directrix=t,this.Radius=e,this.InnerRadius=s,this.StartParam=i,this.EndParam=r,this.type=1260650574}};class ba extends va{constructor(t,e){super(),this.SweptCurve=t,this.Position=e,this.type=230924584}}t.IfcSweptSurface=ba;t.IfcTShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=l,this.FlangeSlope=p,this.CentreOfGravityInY=u,this.type=3071757647}};class Pa extends qn{constructor(t,e,s,i){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.AnnotatedCurve=i,this.type=3028897424}}t.IfcTerminatorSymbol=Pa;class ga extends na{constructor(t,e,s){super(),this.Literal=t,this.Placement=e,this.Path=s,this.type=4282788508}}t.IfcTextLiteral=ga;t.IfcTextLiteralWithExtent=class extends ga{constructor(t,e,s,i,r){super(t,e,s),this.Literal=t,this.Placement=e,this.Path=s,this.Extent=i,this.BoxAlignment=r,this.type=3124975700}};t.IfcTrapeziumProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.BottomXDim=i,this.TopXDim=r,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};t.IfcTwoDirectionRepeatFactor=class extends ua{constructor(t,e){super(t),this.RepeatFactor=t,this.SecondRepeatFactor=e,this.type=1345879162}};class xa extends pa{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.type=1628702193}}t.IfcTypeObject=xa;class _a extends xa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.type=2347495698}}t.IfcTypeProduct=_a;t.IfcUShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.FlangeSlope=c,this.CentreOfGravityInX=l,this.type=427810014}};t.IfcVector=class extends na{constructor(t,e){super(),this.Orientation=t,this.Magnitude=e,this.type=1417489154}};t.IfcVertexLoop=class extends la{constructor(t){super(),this.LoopVertex=t,this.type=2759199220}};t.IfcWindowLiningProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=o,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=l,this.SecondMullionOffset=p,this.ShapeAspectStyle=u,this.type=336235671}};t.IfcWindowPanelProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=512836454}};t.IfcWindowStyle=class extends _a{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ConstructionType=h,this.OperationType=c,this.ParameterTakesPrecedence=l,this.Sizeable=p,this.type=1299126871}};t.IfcZShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.type=2543172580}};class Ma extends Zn{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=3288037868}}t.IfcAnnotationCurveOccurrence=Ma;t.IfcAnnotationFillArea=class extends na{constructor(t,e){super(),this.OuterBoundary=t,this.InnerBoundaries=e,this.type=669184980}};t.IfcAnnotationFillAreaOccurrence=class extends Zn{constructor(t,e,s,i,r){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.FillStyleTarget=i,this.GlobalOrLocal=r,this.type=2265737646}};t.IfcAnnotationSurface=class extends na{constructor(t,e){super(),this.Item=t,this.TextureCoordinates=e,this.type=1302238472}};t.IfcAxis1Placement=class extends Ia{constructor(t,e){super(t),this.Location=t,this.Axis=e,this.type=4261334040}};t.IfcAxis2Placement2D=class extends Ia{constructor(t,e){super(t),this.Location=t,this.RefDirection=e,this.type=3125803723}};t.IfcAxis2Placement3D=class extends Ia{constructor(t,e,s){super(t),this.Location=t,this.Axis=e,this.RefDirection=s,this.type=2740243338}};class Fa extends na{constructor(t,e,s){super(),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=2736907675}}t.IfcBooleanResult=Fa;class Ua extends va{constructor(){super(),this.type=4182860854}}t.IfcBoundedSurface=Ua;t.IfcBoundingBox=class extends na{constructor(t,e,s,i){super(),this.Corner=t,this.XDim=e,this.YDim=s,this.ZDim=i,this.type=2581212453}};t.IfcBoxedHalfSpace=class extends oa{constructor(t,e,s){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Enclosure=s,this.type=2713105998}};t.IfcCShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=o,this.CentreOfGravityInX=h,this.type=2898889636}};t.IfcCartesianPoint=class extends Ta{constructor(t){super(),this.Coordinates=t,this.type=1123145078}};class wa extends na{constructor(t,e,s,i){super(),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}t.IfcCartesianTransformationOperator=wa;class Ga extends wa{constructor(t,e,s,i){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}t.IfcCartesianTransformationOperator2D=Ga;t.IfcCartesianTransformationOperator2DnonUniform=class extends Ga{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Scale2=r,this.type=3486308946}};class Ha extends wa{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.type=3331915920}}t.IfcCartesianTransformationOperator3D=Ha;t.IfcCartesianTransformationOperator3DnonUniform=class extends Ha{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class Ba extends Ea{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.type=1383045692}}t.IfcCircleProfileDef=Ba;t.IfcClosedShell=class extends $n{constructor(t){super(t),this.CfsFaces=t,this.type=2205249479}};t.IfcCompositeCurveSegment=class extends na{constructor(t,e,s){super(),this.Transition=t,this.SameSense=e,this.ParentCurve=s,this.type=2485617015}};t.IfcCraneRailAShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallHeight=i,this.BaseWidth2=r,this.Radius=n,this.HeadWidth=a,this.HeadDepth2=o,this.HeadDepth3=h,this.WebThickness=c,this.BaseWidth4=l,this.BaseDepth1=p,this.BaseDepth2=u,this.BaseDepth3=E,this.CentreOfGravityInY=I,this.type=4133800736}};t.IfcCraneRailFShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallHeight=i,this.HeadWidth=r,this.Radius=n,this.HeadDepth2=a,this.HeadDepth3=o,this.WebThickness=h,this.BaseDepth1=c,this.BaseDepth2=l,this.CentreOfGravityInY=p,this.type=194851669}};class Va extends na{constructor(t){super(),this.Position=t,this.type=2506170314}}t.IfcCsgPrimitive3D=Va;t.IfcCsgSolid=class extends ma{constructor(t){super(),this.TreeRootExpression=t,this.type=2147822146}};class Wa extends na{constructor(){super(),this.type=2601014836}}t.IfcCurve=Wa;t.IfcCurveBoundedPlane=class extends Ua{constructor(t,e,s){super(),this.BasisSurface=t,this.OuterBoundary=e,this.InnerBoundaries=s,this.type=2827736869}};t.IfcDefinedSymbol=class extends na{constructor(t,e){super(),this.Definition=t,this.Target=e,this.type=693772133}};t.IfcDimensionCurve=class extends Ma{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=606661476}};t.IfcDimensionCurveTerminator=class extends Pa{constructor(t,e,s,i,r){super(t,e,s,i),this.Item=t,this.Styles=e,this.Name=s,this.AnnotatedCurve=i,this.Role=r,this.type=4054601972}};t.IfcDirection=class extends na{constructor(t){super(),this.DirectionRatios=t,this.type=32440307}};t.IfcDoorLiningProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=o,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=l,this.ThresholdOffset=p,this.CasingThickness=u,this.CasingDepth=E,this.ShapeAspectStyle=I,this.type=2963535650}};t.IfcDoorPanelProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.PanelDepth=r,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=o,this.ShapeAspectStyle=h,this.type=1714330368}};t.IfcDoorStyle=class extends _a{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.OperationType=h,this.ConstructionType=c,this.ParameterTakesPrecedence=l,this.Sizeable=p,this.type=526551008}};class ja extends na{constructor(t){super(),this.Contents=t,this.type=3073041342}}t.IfcDraughtingCallout=ja;t.IfcDraughtingPreDefinedColour=class extends da{constructor(t){super(t),this.Name=t,this.type=445594917}};t.IfcDraughtingPreDefinedCurveFont=class extends Na{constructor(t){super(t),this.Name=t,this.type=4006246654}};t.IfcEdgeLoop=class extends la{constructor(t){super(),this.EdgeList=t,this.type=1472233963}};t.IfcElementQuantity=class extends fa{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.MethodOfMeasurement=r,this.Quantities=n,this.type=1883228015}};class Ya extends _a{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=339256511}}t.IfcElementType=Ya;class za extends va{constructor(t){super(),this.Position=t,this.type=2777663545}}t.IfcElementarySurface=za;t.IfcEllipseProfileDef=class extends Ea{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=r,this.type=2835456948}};class ka extends fa{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.EnergySequence=r,this.UserDefinedEnergySequence=n,this.type=80994333}}t.IfcEnergyProperties=ka;t.IfcExtrudedAreaSolid=class extends La{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}};t.IfcFaceBasedSurfaceModel=class extends na{constructor(t){super(),this.FbsmFaces=t,this.type=2047409740}};t.IfcFillAreaStyleHatching=class extends na{constructor(t,e,s,i,r){super(),this.HatchLineAppearance=t,this.StartOfNextHatchLine=e,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=r,this.type=374418227}};t.IfcFillAreaStyleTileSymbolWithStyle=class extends na{constructor(t){super(),this.Symbol=t,this.type=4203026998}};t.IfcFillAreaStyleTiles=class extends na{constructor(t,e,s){super(),this.TilingPattern=t,this.Tiles=e,this.TilingScale=s,this.type=315944413}};t.IfcFluidFlowProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.PropertySource=r,this.FlowConditionTimeSeries=n,this.VelocityTimeSeries=a,this.FlowrateTimeSeries=o,this.Fluid=h,this.PressureTimeSeries=c,this.UserDefinedPropertySource=l,this.TemperatureSingleValue=p,this.WetBulbTemperatureSingleValue=u,this.WetBulbTemperatureTimeSeries=E,this.TemperatureTimeSeries=I,this.FlowrateSingleValue=y,this.FlowConditionSingleValue=T,this.VelocitySingleValue=d,this.PressureSingleValue=N,this.type=3455213021}};class Xa extends Ya{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=4238390223}}t.IfcFurnishingElementType=Xa;t.IfcFurnitureType=class extends Xa{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.AssemblyPlace=c,this.type=1268542332}};t.IfcGeometricCurveSet=class extends aa{constructor(t){super(t),this.Elements=t,this.type=987898635}};class Ka extends Ea{constructor(t,e,s,i,r,n,a,o){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallWidth=i,this.OverallDepth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.type=1484403080}}t.IfcIShapeProfileDef=Ka;t.IfcLShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=o,this.LegSlope=h,this.CentreOfGravityInX=c,this.CentreOfGravityInY=l,this.type=572779678}};t.IfcLine=class extends Wa{constructor(t,e){super(),this.Pnt=t,this.Dir=e,this.type=1281925730}};class Za extends ma{constructor(t){super(),this.Outer=t,this.type=1425443689}}t.IfcManifoldSolidBrep=Za;class qa extends pa{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3888040117}}t.IfcObject=qa;t.IfcOffsetCurve2D=class extends Wa{constructor(t,e,s){super(),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.type=3388369263}};t.IfcOffsetCurve3D=class extends Wa{constructor(t,e,s,i){super(),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}};t.IfcPermeableCoveringProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=3566463478}};t.IfcPlanarBox=class extends ya{constructor(t,e,s){super(t,e),this.SizeInX=t,this.SizeInY=e,this.Placement=s,this.type=603570806}};t.IfcPlane=class extends za{constructor(t){super(t),this.Position=t,this.type=220341763}};class Qa extends qa{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2945172077}}t.IfcProcess=Qa;class Ja extends qa{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}t.IfcProduct=Ja;t.IfcProject=class extends qa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=103090709}};t.IfcProjectionCurve=class extends Ma{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=4194566429}};t.IfcPropertySet=class extends fa{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.HasProperties=r,this.type=1451395588}};t.IfcProxy=class extends Ja{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.ProxyType=o,this.Tag=h,this.type=3219374653}};t.IfcRectangleHollowProfileDef=class extends Oa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=o,this.type=2770003689}};t.IfcRectangularPyramid=class extends Va{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.Height=i,this.type=2798486643}};t.IfcRectangularTrimmedSurface=class extends Ua{constructor(t,e,s,i,r,n,a){super(),this.BasisSurface=t,this.U1=e,this.V1=s,this.U2=i,this.V2=r,this.Usense=n,this.Vsense=a,this.type=3454111270}};class $a extends Da{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.type=3939117080}}t.IfcRelAssigns=$a;class to extends $a{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=o,this.type=1683148259}}t.IfcRelAssignsToActor=to;class eo extends $a{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}}t.IfcRelAssignsToControl=eo;t.IfcRelAssignsToGroup=class extends $a{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}};t.IfcRelAssignsToProcess=class extends $a{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=o,this.type=4278684876}};t.IfcRelAssignsToProduct=class extends $a{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};t.IfcRelAssignsToProjectOrder=class extends eo{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=3372526763}};t.IfcRelAssignsToResource=class extends $a{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class so extends Da{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.type=1865459582}}t.IfcRelAssociates=so;t.IfcRelAssociatesAppliedValue=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingAppliedValue=n,this.type=1327628568}};t.IfcRelAssociatesApproval=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingApproval=n,this.type=4095574036}};t.IfcRelAssociatesClassification=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingClassification=n,this.type=919958153}};t.IfcRelAssociatesConstraint=class extends so{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};t.IfcRelAssociatesDocument=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingDocument=n,this.type=982818633}};t.IfcRelAssociatesLibrary=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingLibrary=n,this.type=3840914261}};t.IfcRelAssociatesMaterial=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingMaterial=n,this.type=2655215786}};t.IfcRelAssociatesProfileProperties=class extends so{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingProfileProperties=n,this.ProfileSectionLocation=a,this.ProfileOrientation=o,this.type=2851387026}};class io extends Da{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=826625072}}t.IfcRelConnects=io;class ro extends io{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}t.IfcRelConnectsElements=ro;t.IfcRelConnectsPathElements=class extends ro{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=o,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=l,this.type=3945020480}};t.IfcRelConnectsPortToElement=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedElement=n,this.type=4201705270}};t.IfcRelConnectsPorts=class extends io{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};t.IfcRelConnectsStructuralActivity=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedStructuralActivity=n,this.type=2127690289}};t.IfcRelConnectsStructuralElement=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedStructuralMember=n,this.type=3912681535}};class no extends io{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}t.IfcRelConnectsStructuralMember=no;t.IfcRelConnectsWithEccentricity=class extends no{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=l,this.type=504942748}};t.IfcRelConnectsWithRealizingElements=class extends ro{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=o,this.ConnectionType=h,this.type=3678494232}};t.IfcRelContainedInSpatialStructure=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=3242617779}};t.IfcRelCoversBldgElements=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedCoverings=n,this.type=886880790}};t.IfcRelCoversSpaces=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedSpace=r,this.RelatedCoverings=n,this.type=2802773753}};class ao extends Da{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=2551354335}}t.IfcRelDecomposes=ao;class oo extends Da{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.type=693640335}}t.IfcRelDefines=oo;class ho extends oo{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingPropertyDefinition=n,this.type=4186316022}}t.IfcRelDefinesByProperties=ho;t.IfcRelDefinesByType=class extends oo{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingType=n,this.type=781010003}};t.IfcRelFillsElement=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingOpeningElement=r,this.RelatedBuildingElement=n,this.type=3940055652}};t.IfcRelFlowControlElements=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedControlElements=r,this.RelatingFlowElement=n,this.type=279856033}};t.IfcRelInteractionRequirements=class extends io{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.DailyInteraction=r,this.ImportanceRating=n,this.LocationOfInteraction=a,this.RelatedSpaceProgram=o,this.RelatingSpaceProgram=h,this.type=4189434867}};t.IfcRelNests=class extends ao{constructor(t,e,s,i,r,n){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=3268803585}};t.IfcRelOccupiesSpaces=class extends to{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=o,this.type=2051452291}};t.IfcRelOverridesProperties=class extends ho{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingPropertyDefinition=n,this.OverridingProperties=a,this.type=202636808}};t.IfcRelProjectsElement=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedFeatureElement=n,this.type=750771296}};t.IfcRelReferencedInSpatialStructure=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=1245217292}};t.IfcRelSchedulesCostItems=class extends eo{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=1058617721}};t.IfcRelSequence=class extends io{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingProcess=r,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=o,this.type=4122056220}};t.IfcRelServicesBuildings=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSystem=r,this.RelatedBuildings=n,this.type=366585022}};t.IfcRelSpaceBoundary=class extends io{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.type=3451746338}};t.IfcRelVoidsElement=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedOpeningElement=n,this.type=1401173127}};class co extends qa{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2914609552}}t.IfcResource=co;t.IfcRevolvedAreaSolid=class extends La{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.Axis=s,this.Angle=i,this.type=1856042241}};t.IfcRightCircularCone=class extends Va{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.BottomRadius=s,this.type=4158566097}};t.IfcRightCircularCylinder=class extends Va{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.Radius=s,this.type=3626867408}};class lo extends Ja{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.type=2706606064}}t.IfcSpatialStructureElement=lo;class po extends Ya{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3893378262}}t.IfcSpatialStructureElementType=po;t.IfcSphere=class extends Va{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=451544542}};class uo extends Ja{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3544373492}}t.IfcStructuralActivity=uo;class Eo extends Ja{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}t.IfcStructuralItem=Eo;class Io extends Eo{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}t.IfcStructuralMember=Io;class yo extends uo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3689010777}}t.IfcStructuralReaction=yo;class To extends Io{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.type=3979015343}}t.IfcStructuralSurfaceMember=To;t.IfcStructuralSurfaceMemberVarying=class extends To{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.SubsequentThickness=c,this.VaryingThicknessLocation=l,this.type=2218152070}};t.IfcStructuredDimensionCallout=class extends ja{constructor(t){super(t),this.Contents=t,this.type=4070609034}};t.IfcSurfaceCurveSweptAreaSolid=class extends La{constructor(t,e,s,i,r,n){super(t,e),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.ReferenceSurface=n,this.type=2028607225}};t.IfcSurfaceOfLinearExtrusion=class extends ba{constructor(t,e,s,i){super(t,e),this.SweptCurve=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}};t.IfcSurfaceOfRevolution=class extends ba{constructor(t,e,s){super(t,e),this.SweptCurve=t,this.Position=e,this.AxisPosition=s,this.type=4124788165}};t.IfcSystemFurnitureElementType=class extends Xa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1580310250}};class No extends Qa{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TaskId=n,this.Status=a,this.WorkMethod=o,this.IsMilestone=h,this.Priority=c,this.type=3473067441}}t.IfcTask=No;t.IfcTransportElementType=class extends Ya{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};class Ro extends qa{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.type=2296667514}}t.IfcActor=Ro;t.IfcAnnotation=class extends Ja{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1674181508}};t.IfcAsymmetricIShapeProfileDef=class extends Ka{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallWidth=i,this.OverallDepth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=l,this.CentreOfGravityInY=p,this.type=3207858831}};t.IfcBlock=class extends Va{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.ZLength=i,this.type=1334484129}};t.IfcBooleanClippingResult=class extends Fa{constructor(t,e,s){super(t,e,s),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=3649129432}};class fo extends Wa{constructor(){super(),this.type=1260505505}}t.IfcBoundedCurve=fo;t.IfcBuilding=class extends lo{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=l,this.BuildingAddress=p,this.type=4031249490}};class Oo extends Ya{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1950629157}}t.IfcBuildingElementType=Oo;t.IfcBuildingStorey=class extends lo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};t.IfcCircleHollowProfileDef=class extends Ba{constructor(t,e,s,i,r){super(t,e,s,i),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.WallThickness=r,this.type=2937912522}};t.IfcColumnType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};class Do extends fo{constructor(t,e){super(),this.Segments=t,this.SelfIntersect=e,this.type=3732776249}}t.IfcCompositeCurve=Do;class mo extends Wa{constructor(t){super(),this.Position=t,this.type=2510884976}}t.IfcConic=mo;class Ao extends co{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.type=2559216714}}t.IfcConstructionResource=Ao;class So extends qa{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3293443760}}t.IfcControl=So;t.IfcCostItem=class extends So{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3895139033}};t.IfcCostSchedule=class extends So{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.SubmittedBy=n,this.PreparedBy=a,this.SubmittedOn=o,this.Status=h,this.TargetUsers=c,this.UpdateDate=l,this.ID=p,this.PredefinedType=u,this.type=1419761937}};t.IfcCoveringType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};t.IfcCrewResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.type=3295246426}};t.IfcCurtainWallType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};class Co extends ja{constructor(t){super(t),this.Contents=t,this.type=681481545}}t.IfcDimensionCurveDirectedCallout=Co;class vo extends Ya{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3256556792}}t.IfcDistributionElementType=vo;class Lo extends vo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3849074793}}t.IfcDistributionFlowElementType=Lo;t.IfcElectricalBaseProperties=class extends ka{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.EnergySequence=r,this.UserDefinedEnergySequence=n,this.ElectricCurrentType=a,this.InputVoltage=o,this.InputFrequency=h,this.FullLoadCurrent=c,this.MinimumCircuitCurrent=l,this.MaximumPowerInput=p,this.RatedPowerInput=u,this.InputPhase=E,this.type=360485395}};class bo extends Ja{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1758889154}}t.IfcElement=bo;t.IfcElementAssembly=class extends bo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};class Po extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1623761950}}t.IfcElementComponent=Po;class go extends Ya{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2590856083}}t.IfcElementComponentType=go;t.IfcEllipse=class extends mo{constructor(t,e,s){super(t),this.Position=t,this.SemiAxis1=e,this.SemiAxis2=s,this.type=1704287377}};class xo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2107101300}}t.IfcEnergyConversionDeviceType=xo;t.IfcEquipmentElement=class extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1962604670}};t.IfcEquipmentStandard=class extends So{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3272907226}};t.IfcEvaporativeCoolerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};t.IfcEvaporatorType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};t.IfcFacetedBrep=class extends Za{constructor(t){super(t),this.Outer=t,this.type=807026263}};t.IfcFacetedBrepWithVoids=class extends Za{constructor(t,e){super(t),this.Outer=t,this.Voids=e,this.type=3737207727}};class _o extends Po{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=647756555}}t.IfcFastener=_o;class Mo extends go{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2489546625}}t.IfcFastenerType=Mo;class Fo extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2827207264}}t.IfcFeatureElement=Fo;class Uo extends Fo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2143335405}}t.IfcFeatureElementAddition=Uo;class wo extends Fo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1287392070}}t.IfcFeatureElementSubtraction=wo;class Go extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3907093117}}t.IfcFlowControllerType=Go;class Ho extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3198132628}}t.IfcFlowFittingType=Ho;t.IfcFlowMeterType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class Bo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1482959167}}t.IfcFlowMovingDeviceType=Bo;class Vo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1834744321}}t.IfcFlowSegmentType=Vo;class Wo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1339347760}}t.IfcFlowStorageDeviceType=Wo;class jo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2297155007}}t.IfcFlowTerminalType=jo;class Yo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3009222698}}t.IfcFlowTreatmentDeviceType=Yo;t.IfcFurnishingElement=class extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=263784265}};t.IfcFurnitureStandard=class extends So{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=814719939}};t.IfcGasTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=200128114}};t.IfcGrid=class extends Ja{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.UAxes=o,this.VAxes=h,this.WAxes=c,this.type=3009204131}};class zo extends qa{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2706460486}}t.IfcGroup=zo;t.IfcHeatExchangerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};t.IfcHumidifierType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};t.IfcInventory=class extends zo{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.InventoryType=n,this.Jurisdiction=a,this.ResponsiblePersons=o,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=l,this.type=2391368822}};t.IfcJunctionBoxType=class extends Ho{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};t.IfcLaborResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.SkillSet=c,this.type=3827777499}};t.IfcLampType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};t.IfcLightFixtureType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};t.IfcLinearDimension=class extends Co{constructor(t){super(t),this.Contents=t,this.type=2506943328}};t.IfcMechanicalFastener=class extends _o{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NominalDiameter=h,this.NominalLength=c,this.type=377706215}};t.IfcMechanicalFastenerType=class extends Mo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2108223431}};t.IfcMemberType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};t.IfcMotorConnectionType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};t.IfcMove=class extends No{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TaskId=n,this.Status=a,this.WorkMethod=o,this.IsMilestone=h,this.Priority=c,this.MoveFrom=l,this.MoveTo=p,this.PunchList=u,this.type=1916936684}};t.IfcOccupant=class extends Ro{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};t.IfcOpeningElement=class extends wo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3588315303}};t.IfcOrderAction=class extends No{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TaskId=n,this.Status=a,this.WorkMethod=o,this.IsMilestone=h,this.Priority=c,this.ActionID=l,this.type=3425660407}};t.IfcOutletType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};t.IfcPerformanceHistory=class extends So{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LifeCyclePhase=n,this.type=2382730787}};t.IfcPermit=class extends So{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PermitID=n,this.type=3327091369}};t.IfcPipeFittingType=class extends Ho{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};t.IfcPipeSegmentType=class extends Vo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};t.IfcPlateType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};t.IfcPolyline=class extends fo{constructor(t){super(),this.Points=t,this.type=3724593414}};class ko extends Ja{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}t.IfcPort=ko;t.IfcProcedure=class extends Qa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ProcedureID=n,this.ProcedureType=a,this.UserDefinedProcedureType=o,this.type=2744685151}};t.IfcProjectOrder=class extends So{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ID=n,this.PredefinedType=a,this.Status=o,this.type=2904328755}};t.IfcProjectOrderRecord=class extends So{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Records=n,this.PredefinedType=a,this.type=3642467123}};t.IfcProjectionElement=class extends Uo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3651124850}};t.IfcProtectiveDeviceType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};t.IfcPumpType=class extends Bo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};t.IfcRadiusDimension=class extends Co{constructor(t){super(t),this.Contents=t,this.type=3248260540}};t.IfcRailingType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};t.IfcRampFlightType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};t.IfcRelAggregates=class extends ao{constructor(t,e,s,i,r,n){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=160246688}};t.IfcRelAssignsTasks=class extends eo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.TimeForTask=o,this.type=2863920197}};t.IfcSanitaryTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};t.IfcScheduleTimeControl=class extends So{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ActualStart=n,this.EarlyStart=a,this.LateStart=o,this.ScheduleStart=h,this.ActualFinish=c,this.EarlyFinish=l,this.LateFinish=p,this.ScheduleFinish=u,this.ScheduleDuration=E,this.ActualDuration=I,this.RemainingTime=y,this.FreeFloat=T,this.TotalFloat=d,this.IsCritical=N,this.StatusTime=R,this.StartFloat=f,this.FinishFloat=O,this.Completion=D,this.type=3517283431}};t.IfcServiceLife=class extends So{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ServiceLifeType=n,this.ServiceLifeDuration=a,this.type=4105383287}};t.IfcSite=class extends lo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=l,this.RefElevation=p,this.LandTitleNumber=u,this.SiteAddress=E,this.type=4097777520}};t.IfcSlabType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};t.IfcSpace=class extends lo{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.InteriorOrExteriorSpace=c,this.ElevationWithFlooring=l,this.type=3856911033}};t.IfcSpaceHeaterType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};t.IfcSpaceProgram=class extends So{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.SpaceProgramIdentifier=n,this.MaxRequiredArea=a,this.MinRequiredArea=o,this.RequestedLocation=h,this.StandardRequiredArea=c,this.type=652456506}};t.IfcSpaceType=class extends po{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3812236995}};t.IfcStackTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};t.IfcStairFlightType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};class Xo extends uo{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.type=682877961}}t.IfcStructuralAction=Xo;class Ko extends Eo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1179482911}}t.IfcStructuralConnection=Ko;t.IfcStructuralCurveConnection=class extends Ko{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=4243806635}};class Zo extends Io{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.type=214636428}}t.IfcStructuralCurveMember=Zo;t.IfcStructuralCurveMemberVarying=class extends Zo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.type=2445595289}};class qo extends Xo{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.ProjectedOrTrue=p,this.type=1807405624}}t.IfcStructuralLinearAction=qo;t.IfcStructuralLinearActionVarying=class extends qo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.ProjectedOrTrue=p,this.VaryingAppliedLoadLocation=u,this.SubsequentAppliedLoads=E,this.type=1721250024}};t.IfcStructuralLoadGroup=class extends zo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.ActionType=a,this.ActionSource=o,this.Coefficient=h,this.Purpose=c,this.type=1252848954}};class Qo extends Xo{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.ProjectedOrTrue=p,this.type=1621171031}}t.IfcStructuralPlanarAction=Qo;t.IfcStructuralPlanarActionVarying=class extends Qo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.ProjectedOrTrue=p,this.VaryingAppliedLoadLocation=u,this.SubsequentAppliedLoads=E,this.type=3987759626}};t.IfcStructuralPointAction=class extends Xo{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.type=2082059205}};t.IfcStructuralPointConnection=class extends Ko{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=734778138}};t.IfcStructuralPointReaction=class extends yo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=1235345126}};t.IfcStructuralResultGroup=class extends zo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=o,this.type=2986769608}};t.IfcStructuralSurfaceConnection=class extends Ko{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1975003073}};t.IfcSubContractResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.SubContractor=c,this.JobDescription=l,this.type=148013059}};t.IfcSwitchingDeviceType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class Jo extends zo{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2254336722}}t.IfcSystem=Jo;t.IfcTankType=class extends Wo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};t.IfcTimeSeriesSchedule=class extends So{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ApplicableDates=n,this.TimeSeriesScheduleType=a,this.TimeSeries=o,this.type=1637806684}};t.IfcTransformerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};t.IfcTransportElement=class extends bo{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OperationType=h,this.CapacityByWeight=c,this.CapacityByNumber=l,this.type=1620046519}};t.IfcTrimmedCurve=class extends fo{constructor(t,e,s,i,r){super(),this.BasisCurve=t,this.Trim1=e,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=r,this.type=3593883385}};t.IfcTubeBundleType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};t.IfcUnitaryEquipmentType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};t.IfcValveType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};t.IfcVirtualElement=class extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2769231204}};t.IfcWallType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};t.IfcWasteTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};class $o extends So{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identifier=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.WorkControlType=E,this.UserDefinedControlType=I,this.type=1028945134}}t.IfcWorkControl=$o;t.IfcWorkPlan=class extends $o{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identifier=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.WorkControlType=E,this.UserDefinedControlType=I,this.type=4218914973}};t.IfcWorkSchedule=class extends $o{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identifier=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.WorkControlType=E,this.UserDefinedControlType=I,this.type=3342526732}};t.IfcZone=class extends zo{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=1033361043}};t.Ifc2DCompositeCurve=class extends Do{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=1213861670}};t.IfcActionRequest=class extends So{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.RequestID=n,this.type=3821786052}};t.IfcAirTerminalBoxType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};t.IfcAirTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};t.IfcAirToAirHeatRecoveryType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};t.IfcAngularDimension=class extends Co{constructor(t){super(t),this.Contents=t,this.type=2470393545}};t.IfcAsset=class extends zo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.AssetID=n,this.OriginalValue=a,this.CurrentValue=o,this.TotalReplacementCost=h,this.Owner=c,this.User=l,this.ResponsiblePerson=p,this.IncorporationDate=u,this.DepreciatedValue=E,this.type=3460190687}};class th extends fo{constructor(t,e,s,i,r){super(),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.type=1967976161}}t.IfcBSplineCurve=th;t.IfcBeamType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};class eh extends th{constructor(t,e,s,i,r){super(t,e,s,i,r),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.type=1916977116}}t.IfcBezierCurve=eh;t.IfcBoilerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class sh extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3299480353}}t.IfcBuildingElement=sh;class ih extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=52481810}}t.IfcBuildingElementComponent=ih;t.IfcBuildingElementPart=class extends ih{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2979338954}};t.IfcBuildingElementProxy=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.CompositionType=h,this.type=1095909175}};t.IfcBuildingElementProxyType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};t.IfcCableCarrierFittingType=class extends Ho{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};t.IfcCableCarrierSegmentType=class extends Vo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};t.IfcCableSegmentType=class extends Vo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};t.IfcChillerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};t.IfcCircle=class extends mo{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=2611217952}};t.IfcCoilType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};t.IfcColumn=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=843113511}};t.IfcCompressorType=class extends Bo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};t.IfcCondenserType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};t.IfcCondition=class extends zo{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2188551683}};t.IfcConditionCriterion=class extends So{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Criterion=n,this.CriterionDateTime=a,this.type=1163958913}};t.IfcConstructionEquipmentResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.type=3898045240}};t.IfcConstructionMaterialResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.Suppliers=c,this.UsageRatio=l,this.type=1060000209}};t.IfcConstructionProductResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.type=488727124}};t.IfcCooledBeamType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};t.IfcCoolingTowerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};t.IfcCovering=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1973544240}};t.IfcCurtainWall=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3495092785}};t.IfcDamperType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};t.IfcDiameterDimension=class extends Co{constructor(t){super(t),this.Contents=t,this.type=4147604152}};t.IfcDiscreteAccessory=class extends Po{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1335981549}};class rh extends go{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2635815018}}t.IfcDiscreteAccessoryType=rh;t.IfcDistributionChamberElementType=class extends Lo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class nh extends vo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2063403501}}t.IfcDistributionControlElementType=nh;class ah extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1945004755}}t.IfcDistributionElement=ah;class oh extends ah{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3040386961}}t.IfcDistributionFlowElement=oh;t.IfcDistributionPort=class extends ko{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=o,this.type=3041715199}};t.IfcDoor=class extends sh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.type=395920057}};t.IfcDuctFittingType=class extends Ho{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};t.IfcDuctSegmentType=class extends Vo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};t.IfcDuctSilencerType=class extends Yo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};class hh extends wo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.FeatureLength=h,this.type=855621170}}t.IfcEdgeFeature=hh;t.IfcElectricApplianceType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};t.IfcElectricFlowStorageDeviceType=class extends Wo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};t.IfcElectricGeneratorType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};t.IfcElectricHeaterType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1365060375}};t.IfcElectricMotorType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};t.IfcElectricTimeControlType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};t.IfcElectricalCircuit=class extends Jo{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=1634875225}};t.IfcElectricalElement=class extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=857184966}};t.IfcEnergyConversionDevice=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1658829314}};t.IfcFanType=class extends Bo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};t.IfcFilterType=class extends Yo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};t.IfcFireSuppressionTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class ch extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2058353004}}t.IfcFlowController=ch;t.IfcFlowFitting=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=4278956645}};t.IfcFlowInstrumentType=class extends nh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};t.IfcFlowMovingDevice=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3132237377}};t.IfcFlowSegment=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=987401354}};t.IfcFlowStorageDevice=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=707683696}};t.IfcFlowTerminal=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2223149337}};t.IfcFlowTreatmentDevice=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3508470533}};t.IfcFooting=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=900683007}};t.IfcMember=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1073191201}};t.IfcPile=class extends sh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};t.IfcPlate=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3171933400}};t.IfcRailing=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2262370178}};t.IfcRamp=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.ShapeType=h,this.type=3024970846}};t.IfcRampFlight=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3283111854}};t.IfcRationalBezierCurve=class extends eh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.WeightsData=n,this.type=3055160366}};class lh extends ih{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.type=3027567501}}t.IfcReinforcingElement=lh;t.IfcReinforcingMesh=class extends lh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=l,this.LongitudinalBarNominalDiameter=p,this.TransverseBarNominalDiameter=u,this.LongitudinalBarCrossSectionArea=E,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=y,this.TransverseBarSpacing=T,this.type=2320036040}};t.IfcRoof=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.ShapeType=h,this.type=2016517767}};t.IfcRoundedEdgeFeature=class extends hh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.FeatureLength=h,this.Radius=c,this.type=1376911519}};t.IfcSensorType=class extends nh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};t.IfcSlab=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1529196076}};t.IfcStair=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.ShapeType=h,this.type=331165859}};t.IfcStairFlight=class extends sh{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NumberOfRiser=h,this.NumberOfTreads=c,this.RiserHeight=l,this.TreadLength=p,this.type=4252922144}};t.IfcStructuralAnalysisModel=class extends Jo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=o,this.HasResults=h,this.type=2515109513}};t.IfcTendon=class extends lh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.TensionForce=u,this.PreStress=E,this.FrictionCoefficient=I,this.AnchorageSlip=y,this.MinCurvatureRadius=T,this.type=3824725483}};t.IfcTendonAnchor=class extends lh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.type=2347447852}};t.IfcVibrationIsolatorType=class extends rh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};class ph extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2391406946}}t.IfcWall=ph;t.IfcWallStandardCase=class extends ph{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3512223829}};t.IfcWindow=class extends sh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.type=3304561284}};t.IfcActuatorType=class extends nh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};t.IfcAlarmType=class extends nh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};t.IfcBeam=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=753842376}};t.IfcChamferEdgeFeature=class extends hh{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.FeatureLength=h,this.Width=c,this.Height=l,this.type=2454782716}};t.IfcControllerType=class extends nh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};t.IfcDistributionChamberElement=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1052013943}};t.IfcDistributionControlElement=class extends ah{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.ControlElementId=h,this.type=1062813311}};t.IfcElectricDistributionPoint=class extends ch{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.DistributionPointFunction=h,this.UserDefinedFunction=c,this.type=3700593921}};t.IfcReinforcingBar=class extends lh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=l,this.BarLength=p,this.BarRole=u,this.BarSurface=E,this.type=979691226}}})(_u||(_u={})),Hu[1]={3699917729:t=>new Mu.IfcAbsorbedDoseMeasure(t),4182062534:t=>new Mu.IfcAccelerationMeasure(t),360377573:t=>new Mu.IfcAmountOfSubstanceMeasure(t),632304761:t=>new Mu.IfcAngularVelocityMeasure(t),3683503648:t=>new Mu.IfcArcIndex(t.map((t=>t.value))),1500781891:t=>new Mu.IfcAreaDensityMeasure(t),2650437152:t=>new Mu.IfcAreaMeasure(t),2314439260:t=>new Mu.IfcBinary(t),2735952531:t=>new Mu.IfcBoolean(t),1867003952:t=>new Mu.IfcBoxAlignment(t),1683019596:t=>new Mu.IfcCardinalPointReference(t),2991860651:t=>new Mu.IfcComplexNumber(t.map((t=>t.value))),3812528620:t=>new Mu.IfcCompoundPlaneAngleMeasure(t.map((t=>t.value))),3238673880:t=>new Mu.IfcContextDependentMeasure(t),1778710042:t=>new Mu.IfcCountMeasure(t),94842927:t=>new Mu.IfcCurvatureMeasure(t),937566702:t=>new Mu.IfcDate(t),2195413836:t=>new Mu.IfcDateTime(t),86635668:t=>new Mu.IfcDayInMonthNumber(t),3701338814:t=>new Mu.IfcDayInWeekNumber(t),1514641115:t=>new Mu.IfcDescriptiveMeasure(t),4134073009:t=>new Mu.IfcDimensionCount(t),524656162:t=>new Mu.IfcDoseEquivalentMeasure(t),2541165894:t=>new Mu.IfcDuration(t),69416015:t=>new Mu.IfcDynamicViscosityMeasure(t),1827137117:t=>new Mu.IfcElectricCapacitanceMeasure(t),3818826038:t=>new Mu.IfcElectricChargeMeasure(t),2093906313:t=>new Mu.IfcElectricConductanceMeasure(t),3790457270:t=>new Mu.IfcElectricCurrentMeasure(t),2951915441:t=>new Mu.IfcElectricResistanceMeasure(t),2506197118:t=>new Mu.IfcElectricVoltageMeasure(t),2078135608:t=>new Mu.IfcEnergyMeasure(t),1102727119:t=>new Mu.IfcFontStyle(t),2715512545:t=>new Mu.IfcFontVariant(t),2590844177:t=>new Mu.IfcFontWeight(t),1361398929:t=>new Mu.IfcForceMeasure(t),3044325142:t=>new Mu.IfcFrequencyMeasure(t),3064340077:t=>new Mu.IfcGloballyUniqueId(t),3113092358:t=>new Mu.IfcHeatFluxDensityMeasure(t),1158859006:t=>new Mu.IfcHeatingValueMeasure(t),983778844:t=>new Mu.IfcIdentifier(t),3358199106:t=>new Mu.IfcIlluminanceMeasure(t),2679005408:t=>new Mu.IfcInductanceMeasure(t),1939436016:t=>new Mu.IfcInteger(t),3809634241:t=>new Mu.IfcIntegerCountRateMeasure(t),3686016028:t=>new Mu.IfcIonConcentrationMeasure(t),3192672207:t=>new Mu.IfcIsothermalMoistureCapacityMeasure(t),2054016361:t=>new Mu.IfcKinematicViscosityMeasure(t),3258342251:t=>new Mu.IfcLabel(t),1275358634:t=>new Mu.IfcLanguageId(t),1243674935:t=>new Mu.IfcLengthMeasure(t),1774176899:t=>new Mu.IfcLineIndex(t.map((t=>t.value))),191860431:t=>new Mu.IfcLinearForceMeasure(t),2128979029:t=>new Mu.IfcLinearMomentMeasure(t),1307019551:t=>new Mu.IfcLinearStiffnessMeasure(t),3086160713:t=>new Mu.IfcLinearVelocityMeasure(t),503418787:t=>new Mu.IfcLogical(t),2095003142:t=>new Mu.IfcLuminousFluxMeasure(t),2755797622:t=>new Mu.IfcLuminousIntensityDistributionMeasure(t),151039812:t=>new Mu.IfcLuminousIntensityMeasure(t),286949696:t=>new Mu.IfcMagneticFluxDensityMeasure(t),2486716878:t=>new Mu.IfcMagneticFluxMeasure(t),1477762836:t=>new Mu.IfcMassDensityMeasure(t),4017473158:t=>new Mu.IfcMassFlowRateMeasure(t),3124614049:t=>new Mu.IfcMassMeasure(t),3531705166:t=>new Mu.IfcMassPerLengthMeasure(t),3341486342:t=>new Mu.IfcModulusOfElasticityMeasure(t),2173214787:t=>new Mu.IfcModulusOfLinearSubgradeReactionMeasure(t),1052454078:t=>new Mu.IfcModulusOfRotationalSubgradeReactionMeasure(t),1753493141:t=>new Mu.IfcModulusOfSubgradeReactionMeasure(t),3177669450:t=>new Mu.IfcMoistureDiffusivityMeasure(t),1648970520:t=>new Mu.IfcMolecularWeightMeasure(t),3114022597:t=>new Mu.IfcMomentOfInertiaMeasure(t),2615040989:t=>new Mu.IfcMonetaryMeasure(t),765770214:t=>new Mu.IfcMonthInYearNumber(t),525895558:t=>new Mu.IfcNonNegativeLengthMeasure(t),2095195183:t=>new Mu.IfcNormalisedRatioMeasure(t),2395907400:t=>new Mu.IfcNumericMeasure(t),929793134:t=>new Mu.IfcPHMeasure(t),2260317790:t=>new Mu.IfcParameterValue(t),2642773653:t=>new Mu.IfcPlanarForceMeasure(t),4042175685:t=>new Mu.IfcPlaneAngleMeasure(t),1790229001:t=>new Mu.IfcPositiveInteger(t),2815919920:t=>new Mu.IfcPositiveLengthMeasure(t),3054510233:t=>new Mu.IfcPositivePlaneAngleMeasure(t),1245737093:t=>new Mu.IfcPositiveRatioMeasure(t),1364037233:t=>new Mu.IfcPowerMeasure(t),2169031380:t=>new Mu.IfcPresentableText(t),3665567075:t=>new Mu.IfcPressureMeasure(t),2798247006:t=>new Mu.IfcPropertySetDefinitionSet(t.map((t=>t.value))),3972513137:t=>new Mu.IfcRadioActivityMeasure(t),96294661:t=>new Mu.IfcRatioMeasure(t),200335297:t=>new Mu.IfcReal(t),2133746277:t=>new Mu.IfcRotationalFrequencyMeasure(t),1755127002:t=>new Mu.IfcRotationalMassMeasure(t),3211557302:t=>new Mu.IfcRotationalStiffnessMeasure(t),3467162246:t=>new Mu.IfcSectionModulusMeasure(t),2190458107:t=>new Mu.IfcSectionalAreaIntegralMeasure(t),408310005:t=>new Mu.IfcShearModulusMeasure(t),3471399674:t=>new Mu.IfcSolidAngleMeasure(t),4157543285:t=>new Mu.IfcSoundPowerLevelMeasure(t),846465480:t=>new Mu.IfcSoundPowerMeasure(t),3457685358:t=>new Mu.IfcSoundPressureLevelMeasure(t),993287707:t=>new Mu.IfcSoundPressureMeasure(t),3477203348:t=>new Mu.IfcSpecificHeatCapacityMeasure(t),2757832317:t=>new Mu.IfcSpecularExponent(t),361837227:t=>new Mu.IfcSpecularRoughness(t),58845555:t=>new Mu.IfcTemperatureGradientMeasure(t),1209108979:t=>new Mu.IfcTemperatureRateOfChangeMeasure(t),2801250643:t=>new Mu.IfcText(t),1460886941:t=>new Mu.IfcTextAlignment(t),3490877962:t=>new Mu.IfcTextDecoration(t),603696268:t=>new Mu.IfcTextFontName(t),296282323:t=>new Mu.IfcTextTransformation(t),232962298:t=>new Mu.IfcThermalAdmittanceMeasure(t),2645777649:t=>new Mu.IfcThermalConductivityMeasure(t),2281867870:t=>new Mu.IfcThermalExpansionCoefficientMeasure(t),857959152:t=>new Mu.IfcThermalResistanceMeasure(t),2016195849:t=>new Mu.IfcThermalTransmittanceMeasure(t),743184107:t=>new Mu.IfcThermodynamicTemperatureMeasure(t),4075327185:t=>new Mu.IfcTime(t),2726807636:t=>new Mu.IfcTimeMeasure(t),2591213694:t=>new Mu.IfcTimeStamp(t),1278329552:t=>new Mu.IfcTorqueMeasure(t),950732822:t=>new Mu.IfcURIReference(t),3345633955:t=>new Mu.IfcVaporPermeabilityMeasure(t),3458127941:t=>new Mu.IfcVolumeMeasure(t),2593997549:t=>new Mu.IfcVolumetricFlowRateMeasure(t),51269191:t=>new Mu.IfcWarpingConstantMeasure(t),1718600412:t=>new Mu.IfcWarpingMomentMeasure(t)},(t=>{t.IfcAbsorbedDoseMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCABSORBEDDOSEMEASURE"}};t.IfcAccelerationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCACCELERATIONMEASURE"}};t.IfcAmountOfSubstanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAMOUNTOFSUBSTANCEMEASURE"}};t.IfcAngularVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCANGULARVELOCITYMEASURE"}};t.IfcArcIndex=class{constructor(t){this.value=t,this.type=5}};t.IfcAreaDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAREADENSITYMEASURE"}};t.IfcAreaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAREAMEASURE"}};t.IfcBinary=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCBINARY"}};t.IfcBoolean=class{constructor(t){this.type=3,this.name="IFCBOOLEAN",this.value=t}};t.IfcBoxAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCBOXALIGNMENT"}};t.IfcCardinalPointReference=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCCARDINALPOINTREFERENCE"}};t.IfcComplexNumber=class{constructor(t){this.value=t,this.type=4}};t.IfcCompoundPlaneAngleMeasure=class{constructor(t){this.value=t,this.type=10}};t.IfcContextDependentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCONTEXTDEPENDENTMEASURE"}};t.IfcCountMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCOUNTMEASURE"}};t.IfcCurvatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCURVATUREMEASURE"}};t.IfcDate=class{constructor(t){this.value=t,this.type=1,this.name="IFCDATE"}};t.IfcDateTime=class{constructor(t){this.value=t,this.type=1,this.name="IFCDATETIME"}};t.IfcDayInMonthNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINMONTHNUMBER"}};t.IfcDayInWeekNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINWEEKNUMBER"}};t.IfcDescriptiveMeasure=class{constructor(t){this.value=t,this.type=1,this.name="IFCDESCRIPTIVEMEASURE"}};class e extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDIMENSIONCOUNT"}}t.IfcDimensionCount=e;t.IfcDoseEquivalentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDOSEEQUIVALENTMEASURE"}};t.IfcDuration=class{constructor(t){this.value=t,this.type=1,this.name="IFCDURATION"}};t.IfcDynamicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDYNAMICVISCOSITYMEASURE"}};t.IfcElectricCapacitanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCAPACITANCEMEASURE"}};t.IfcElectricChargeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCHARGEMEASURE"}};t.IfcElectricConductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCONDUCTANCEMEASURE"}};t.IfcElectricCurrentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCURRENTMEASURE"}};t.IfcElectricResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICRESISTANCEMEASURE"}};t.IfcElectricVoltageMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICVOLTAGEMEASURE"}};t.IfcEnergyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCENERGYMEASURE"}};t.IfcFontStyle=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTSTYLE"}};t.IfcFontVariant=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTVARIANT"}};t.IfcFontWeight=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTWEIGHT"}};t.IfcForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFORCEMEASURE"}};t.IfcFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFREQUENCYMEASURE"}};t.IfcGloballyUniqueId=class{constructor(t){this.value=t,this.type=1,this.name="IFCGLOBALLYUNIQUEID"}};t.IfcHeatFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATFLUXDENSITYMEASURE"}};t.IfcHeatingValueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATINGVALUEMEASURE"}};t.IfcIdentifier=class{constructor(t){this.value=t,this.type=1,this.name="IFCIDENTIFIER"}};t.IfcIlluminanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCILLUMINANCEMEASURE"}};t.IfcInductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCINDUCTANCEMEASURE"}};t.IfcInteger=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGER"}};t.IfcIntegerCountRateMeasure=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGERCOUNTRATEMEASURE"}};t.IfcIonConcentrationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCIONCONCENTRATIONMEASURE"}};t.IfcIsothermalMoistureCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCISOTHERMALMOISTURECAPACITYMEASURE"}};t.IfcKinematicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCKINEMATICVISCOSITYMEASURE"}};t.IfcLabel=class{constructor(t){this.value=t,this.type=1,this.name="IFCLABEL"}};t.IfcLanguageId=class{constructor(t){this.value=t,this.type=1,this.name="IFCLANGUAGEID"}};t.IfcLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLENGTHMEASURE"}};t.IfcLineIndex=class{constructor(t){this.value=t,this.type=5}};t.IfcLinearForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARFORCEMEASURE"}};t.IfcLinearMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARMOMENTMEASURE"}};t.IfcLinearStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARSTIFFNESSMEASURE"}};t.IfcLinearVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARVELOCITYMEASURE"}};t.IfcLogical=class{constructor(t){this.type=3,this.name="IFCLOGICAL",this.value=t}};t.IfcLuminousFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSFLUXMEASURE"}};t.IfcLuminousIntensityDistributionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE"}};t.IfcLuminousIntensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYMEASURE"}};t.IfcMagneticFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXDENSITYMEASURE"}};t.IfcMagneticFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXMEASURE"}};t.IfcMassDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSDENSITYMEASURE"}};t.IfcMassFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSFLOWRATEMEASURE"}};t.IfcMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSMEASURE"}};t.IfcMassPerLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSPERLENGTHMEASURE"}};t.IfcModulusOfElasticityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFELASTICITYMEASURE"}};t.IfcModulusOfLinearSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfRotationalSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFSUBGRADEREACTIONMEASURE"}};t.IfcMoistureDiffusivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOISTUREDIFFUSIVITYMEASURE"}};t.IfcMolecularWeightMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOLECULARWEIGHTMEASURE"}};t.IfcMomentOfInertiaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOMENTOFINERTIAMEASURE"}};t.IfcMonetaryMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMONETARYMEASURE"}};t.IfcMonthInYearNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCMONTHINYEARNUMBER"}};t.IfcNonNegativeLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNONNEGATIVELENGTHMEASURE"}};t.IfcNormalisedRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNORMALISEDRATIOMEASURE"}};t.IfcNumericMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNUMERICMEASURE"}};t.IfcPHMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPHMEASURE"}};t.IfcParameterValue=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPARAMETERVALUE"}};t.IfcPlanarForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANARFORCEMEASURE"}};t.IfcPlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANEANGLEMEASURE"}};t.IfcPositiveInteger=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCPOSITIVEINTEGER"}};t.IfcPositiveLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVELENGTHMEASURE"}};t.IfcPositivePlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVEPLANEANGLEMEASURE"}};t.IfcPositiveRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVERATIOMEASURE"}};t.IfcPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOWERMEASURE"}};t.IfcPresentableText=class{constructor(t){this.value=t,this.type=1,this.name="IFCPRESENTABLETEXT"}};t.IfcPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPRESSUREMEASURE"}};t.IfcPropertySetDefinitionSet=class{constructor(t){this.value=t,this.type=5}};t.IfcRadioActivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRADIOACTIVITYMEASURE"}};t.IfcRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRATIOMEASURE"}};t.IfcReal=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCREAL"}};t.IfcRotationalFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALFREQUENCYMEASURE"}};t.IfcRotationalMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALMASSMEASURE"}};t.IfcRotationalStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALSTIFFNESSMEASURE"}};t.IfcSectionModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONMODULUSMEASURE"}};t.IfcSectionalAreaIntegralMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONALAREAINTEGRALMEASURE"}};t.IfcShearModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSHEARMODULUSMEASURE"}};t.IfcSolidAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOLIDANGLEMEASURE"}};t.IfcSoundPowerLevelMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERLEVELMEASURE"}};t.IfcSoundPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERMEASURE"}};t.IfcSoundPressureLevelMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSURELEVELMEASURE"}};t.IfcSoundPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSUREMEASURE"}};t.IfcSpecificHeatCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECIFICHEATCAPACITYMEASURE"}};t.IfcSpecularExponent=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULAREXPONENT"}};t.IfcSpecularRoughness=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULARROUGHNESS"}};t.IfcTemperatureGradientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATUREGRADIENTMEASURE"}};t.IfcTemperatureRateOfChangeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATURERATEOFCHANGEMEASURE"}};t.IfcText=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXT"}};t.IfcTextAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTALIGNMENT"}};t.IfcTextDecoration=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTDECORATION"}};t.IfcTextFontName=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTFONTNAME"}};t.IfcTextTransformation=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTTRANSFORMATION"}};t.IfcThermalAdmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALADMITTANCEMEASURE"}};t.IfcThermalConductivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALCONDUCTIVITYMEASURE"}};t.IfcThermalExpansionCoefficientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALEXPANSIONCOEFFICIENTMEASURE"}};t.IfcThermalResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALRESISTANCEMEASURE"}};t.IfcThermalTransmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALTRANSMITTANCEMEASURE"}};t.IfcThermodynamicTemperatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMODYNAMICTEMPERATUREMEASURE"}};t.IfcTime=class{constructor(t){this.value=t,this.type=1,this.name="IFCTIME"}};t.IfcTimeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTIMEMEASURE"}};t.IfcTimeStamp=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCTIMESTAMP"}};t.IfcTorqueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTORQUEMEASURE"}};t.IfcURIReference=class{constructor(t){this.value=t,this.type=1,this.name="IFCURIREFERENCE"}};t.IfcVaporPermeabilityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVAPORPERMEABILITYMEASURE"}};t.IfcVolumeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMEMEASURE"}};t.IfcVolumetricFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMETRICFLOWRATEMEASURE"}};t.IfcWarpingConstantMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGCONSTANTMEASURE"}};t.IfcWarpingMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGMOMENTMEASURE"}};const s=class{};s.EMAIL={type:3,value:"EMAIL"},s.FAX={type:3,value:"FAX"},s.PHONE={type:3,value:"PHONE"},s.POST={type:3,value:"POST"},s.VERBAL={type:3,value:"VERBAL"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"};let i=s;t.IfcActionRequestTypeEnum=i;const r=class{};r.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},r.COMPLETION_G1={type:3,value:"COMPLETION_G1"},r.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},r.SNOW_S={type:3,value:"SNOW_S"},r.WIND_W={type:3,value:"WIND_W"},r.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},r.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},r.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},r.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},r.FIRE={type:3,value:"FIRE"},r.IMPULSE={type:3,value:"IMPULSE"},r.IMPACT={type:3,value:"IMPACT"},r.TRANSPORT={type:3,value:"TRANSPORT"},r.ERECTION={type:3,value:"ERECTION"},r.PROPPING={type:3,value:"PROPPING"},r.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},r.SHRINKAGE={type:3,value:"SHRINKAGE"},r.CREEP={type:3,value:"CREEP"},r.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},r.BUOYANCY={type:3,value:"BUOYANCY"},r.ICE={type:3,value:"ICE"},r.CURRENT={type:3,value:"CURRENT"},r.WAVE={type:3,value:"WAVE"},r.RAIN={type:3,value:"RAIN"},r.BRAKES={type:3,value:"BRAKES"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"};let n=r;t.IfcActionSourceTypeEnum=n;const a=class{};a.PERMANENT_G={type:3,value:"PERMANENT_G"},a.VARIABLE_Q={type:3,value:"VARIABLE_Q"},a.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"};let o=a;t.IfcActionTypeEnum=o;const h=class{};h.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},h.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},h.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},h.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},h.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"};let c=h;t.IfcActuatorTypeEnum=c;const l=class{};l.OFFICE={type:3,value:"OFFICE"},l.SITE={type:3,value:"SITE"},l.HOME={type:3,value:"HOME"},l.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},l.USERDEFINED={type:3,value:"USERDEFINED"};let p=l;t.IfcAddressTypeEnum=p;const u=class{};u.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},u.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},u.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"};let E=u;t.IfcAirTerminalBoxTypeEnum=E;const I=class{};I.DIFFUSER={type:3,value:"DIFFUSER"},I.GRILLE={type:3,value:"GRILLE"},I.LOUVRE={type:3,value:"LOUVRE"},I.REGISTER={type:3,value:"REGISTER"},I.USERDEFINED={type:3,value:"USERDEFINED"},I.NOTDEFINED={type:3,value:"NOTDEFINED"};let y=I;t.IfcAirTerminalTypeEnum=y;const T=class{};T.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},T.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},T.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},T.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},T.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},T.HEATPIPE={type:3,value:"HEATPIPE"},T.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},T.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},T.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"};let d=T;t.IfcAirToAirHeatRecoveryTypeEnum=d;const N=class{};N.BELL={type:3,value:"BELL"},N.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},N.LIGHT={type:3,value:"LIGHT"},N.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},N.SIREN={type:3,value:"SIREN"},N.WHISTLE={type:3,value:"WHISTLE"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"};let R=N;t.IfcAlarmTypeEnum=R;const f=class{};f.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},f.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},f.LOADING_3D={type:3,value:"LOADING_3D"},f.USERDEFINED={type:3,value:"USERDEFINED"},f.NOTDEFINED={type:3,value:"NOTDEFINED"};let O=f;t.IfcAnalysisModelTypeEnum=O;const D=class{};D.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},D.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},D.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},D.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},D.USERDEFINED={type:3,value:"USERDEFINED"},D.NOTDEFINED={type:3,value:"NOTDEFINED"};let m=D;t.IfcAnalysisTheoryTypeEnum=m;const A=class{};A.ADD={type:3,value:"ADD"},A.DIVIDE={type:3,value:"DIVIDE"},A.MULTIPLY={type:3,value:"MULTIPLY"},A.SUBTRACT={type:3,value:"SUBTRACT"};let S=A;t.IfcArithmeticOperatorEnum=S;const C=class{};C.SITE={type:3,value:"SITE"},C.FACTORY={type:3,value:"FACTORY"},C.NOTDEFINED={type:3,value:"NOTDEFINED"};let v=C;t.IfcAssemblyPlaceEnum=v;const L=class{};L.AMPLIFIER={type:3,value:"AMPLIFIER"},L.CAMERA={type:3,value:"CAMERA"},L.DISPLAY={type:3,value:"DISPLAY"},L.MICROPHONE={type:3,value:"MICROPHONE"},L.PLAYER={type:3,value:"PLAYER"},L.PROJECTOR={type:3,value:"PROJECTOR"},L.RECEIVER={type:3,value:"RECEIVER"},L.SPEAKER={type:3,value:"SPEAKER"},L.SWITCHER={type:3,value:"SWITCHER"},L.TELEPHONE={type:3,value:"TELEPHONE"},L.TUNER={type:3,value:"TUNER"},L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"};let b=L;t.IfcAudioVisualApplianceTypeEnum=b;const P=class{};P.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},P.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},P.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},P.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},P.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},P.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let g=P;t.IfcBSplineCurveForm=g;const x=class{};x.PLANE_SURF={type:3,value:"PLANE_SURF"},x.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},x.CONICAL_SURF={type:3,value:"CONICAL_SURF"},x.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},x.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},x.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},x.RULED_SURF={type:3,value:"RULED_SURF"},x.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},x.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},x.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},x.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let _=x;t.IfcBSplineSurfaceForm=_;const M=class{};M.BEAM={type:3,value:"BEAM"},M.JOIST={type:3,value:"JOIST"},M.HOLLOWCORE={type:3,value:"HOLLOWCORE"},M.LINTEL={type:3,value:"LINTEL"},M.SPANDREL={type:3,value:"SPANDREL"},M.T_BEAM={type:3,value:"T_BEAM"},M.USERDEFINED={type:3,value:"USERDEFINED"},M.NOTDEFINED={type:3,value:"NOTDEFINED"};let F=M;t.IfcBeamTypeEnum=F;const U=class{};U.GREATERTHAN={type:3,value:"GREATERTHAN"},U.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},U.LESSTHAN={type:3,value:"LESSTHAN"},U.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},U.EQUALTO={type:3,value:"EQUALTO"},U.NOTEQUALTO={type:3,value:"NOTEQUALTO"},U.INCLUDES={type:3,value:"INCLUDES"},U.NOTINCLUDES={type:3,value:"NOTINCLUDES"},U.INCLUDEDIN={type:3,value:"INCLUDEDIN"},U.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"};let w=U;t.IfcBenchmarkEnum=w;const G=class{};G.WATER={type:3,value:"WATER"},G.STEAM={type:3,value:"STEAM"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"};let H=G;t.IfcBoilerTypeEnum=H;const B=class{};B.UNION={type:3,value:"UNION"},B.INTERSECTION={type:3,value:"INTERSECTION"},B.DIFFERENCE={type:3,value:"DIFFERENCE"};let V=B;t.IfcBooleanOperator=V;const W=class{};W.INSULATION={type:3,value:"INSULATION"},W.PRECASTPANEL={type:3,value:"PRECASTPANEL"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"};let j=W;t.IfcBuildingElementPartTypeEnum=j;const Y=class{};Y.COMPLEX={type:3,value:"COMPLEX"},Y.ELEMENT={type:3,value:"ELEMENT"},Y.PARTIAL={type:3,value:"PARTIAL"},Y.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Y.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"};let z=Y;t.IfcBuildingElementProxyTypeEnum=z;const k=class{};k.FENESTRATION={type:3,value:"FENESTRATION"},k.FOUNDATION={type:3,value:"FOUNDATION"},k.LOADBEARING={type:3,value:"LOADBEARING"},k.OUTERSHELL={type:3,value:"OUTERSHELL"},k.SHADING={type:3,value:"SHADING"},k.TRANSPORT={type:3,value:"TRANSPORT"},k.USERDEFINED={type:3,value:"USERDEFINED"},k.NOTDEFINED={type:3,value:"NOTDEFINED"};let X=k;t.IfcBuildingSystemTypeEnum=X;const K=class{};K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"};let Z=K;t.IfcBurnerTypeEnum=Z;const q=class{};q.BEND={type:3,value:"BEND"},q.CROSS={type:3,value:"CROSS"},q.REDUCER={type:3,value:"REDUCER"},q.TEE={type:3,value:"TEE"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"};let Q=q;t.IfcCableCarrierFittingTypeEnum=Q;const J=class{};J.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},J.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},J.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},J.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},J.USERDEFINED={type:3,value:"USERDEFINED"},J.NOTDEFINED={type:3,value:"NOTDEFINED"};let $=J;t.IfcCableCarrierSegmentTypeEnum=$;const tt=class{};tt.CONNECTOR={type:3,value:"CONNECTOR"},tt.ENTRY={type:3,value:"ENTRY"},tt.EXIT={type:3,value:"EXIT"},tt.JUNCTION={type:3,value:"JUNCTION"},tt.TRANSITION={type:3,value:"TRANSITION"},tt.USERDEFINED={type:3,value:"USERDEFINED"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let et=tt;t.IfcCableFittingTypeEnum=et;const st=class{};st.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},st.CABLESEGMENT={type:3,value:"CABLESEGMENT"},st.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},st.CORESEGMENT={type:3,value:"CORESEGMENT"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"};let it=st;t.IfcCableSegmentTypeEnum=it;const rt=class{};rt.NOCHANGE={type:3,value:"NOCHANGE"},rt.MODIFIED={type:3,value:"MODIFIED"},rt.ADDED={type:3,value:"ADDED"},rt.DELETED={type:3,value:"DELETED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"};let nt=rt;t.IfcChangeActionEnum=nt;const at=class{};at.AIRCOOLED={type:3,value:"AIRCOOLED"},at.WATERCOOLED={type:3,value:"WATERCOOLED"},at.HEATRECOVERY={type:3,value:"HEATRECOVERY"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"};let ot=at;t.IfcChillerTypeEnum=ot;const ht=class{};ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let ct=ht;t.IfcChimneyTypeEnum=ct;const lt=class{};lt.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},lt.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},lt.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},lt.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},lt.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},lt.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},lt.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let pt=lt;t.IfcCoilTypeEnum=pt;const ut=class{};ut.COLUMN={type:3,value:"COLUMN"},ut.PILASTER={type:3,value:"PILASTER"},ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let Et=ut;t.IfcColumnTypeEnum=Et;const It=class{};It.ANTENNA={type:3,value:"ANTENNA"},It.COMPUTER={type:3,value:"COMPUTER"},It.FAX={type:3,value:"FAX"},It.GATEWAY={type:3,value:"GATEWAY"},It.MODEM={type:3,value:"MODEM"},It.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},It.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},It.NETWORKHUB={type:3,value:"NETWORKHUB"},It.PRINTER={type:3,value:"PRINTER"},It.REPEATER={type:3,value:"REPEATER"},It.ROUTER={type:3,value:"ROUTER"},It.SCANNER={type:3,value:"SCANNER"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"};let yt=It;t.IfcCommunicationsApplianceTypeEnum=yt;const Tt=class{};Tt.P_COMPLEX={type:3,value:"P_COMPLEX"},Tt.Q_COMPLEX={type:3,value:"Q_COMPLEX"};let dt=Tt;t.IfcComplexPropertyTemplateTypeEnum=dt;const Nt=class{};Nt.DYNAMIC={type:3,value:"DYNAMIC"},Nt.RECIPROCATING={type:3,value:"RECIPROCATING"},Nt.ROTARY={type:3,value:"ROTARY"},Nt.SCROLL={type:3,value:"SCROLL"},Nt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Nt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Nt.BOOSTER={type:3,value:"BOOSTER"},Nt.OPENTYPE={type:3,value:"OPENTYPE"},Nt.HERMETIC={type:3,value:"HERMETIC"},Nt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Nt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Nt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Nt.ROTARYVANE={type:3,value:"ROTARYVANE"},Nt.SINGLESCREW={type:3,value:"SINGLESCREW"},Nt.TWINSCREW={type:3,value:"TWINSCREW"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rt=Nt;t.IfcCompressorTypeEnum=Rt;const ft=class{};ft.AIRCOOLED={type:3,value:"AIRCOOLED"},ft.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},ft.WATERCOOLED={type:3,value:"WATERCOOLED"},ft.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},ft.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},ft.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},ft.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ot=ft;t.IfcCondenserTypeEnum=Ot;const Dt=class{};Dt.ATPATH={type:3,value:"ATPATH"},Dt.ATSTART={type:3,value:"ATSTART"},Dt.ATEND={type:3,value:"ATEND"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"};let mt=Dt;t.IfcConnectionTypeEnum=mt;const At=class{};At.HARD={type:3,value:"HARD"},At.SOFT={type:3,value:"SOFT"},At.ADVISORY={type:3,value:"ADVISORY"},At.USERDEFINED={type:3,value:"USERDEFINED"},At.NOTDEFINED={type:3,value:"NOTDEFINED"};let St=At;t.IfcConstraintEnum=St;const Ct=class{};Ct.DEMOLISHING={type:3,value:"DEMOLISHING"},Ct.EARTHMOVING={type:3,value:"EARTHMOVING"},Ct.ERECTING={type:3,value:"ERECTING"},Ct.HEATING={type:3,value:"HEATING"},Ct.LIGHTING={type:3,value:"LIGHTING"},Ct.PAVING={type:3,value:"PAVING"},Ct.PUMPING={type:3,value:"PUMPING"},Ct.TRANSPORTING={type:3,value:"TRANSPORTING"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"};let vt=Ct;t.IfcConstructionEquipmentResourceTypeEnum=vt;const Lt=class{};Lt.AGGREGATES={type:3,value:"AGGREGATES"},Lt.CONCRETE={type:3,value:"CONCRETE"},Lt.DRYWALL={type:3,value:"DRYWALL"},Lt.FUEL={type:3,value:"FUEL"},Lt.GYPSUM={type:3,value:"GYPSUM"},Lt.MASONRY={type:3,value:"MASONRY"},Lt.METAL={type:3,value:"METAL"},Lt.PLASTIC={type:3,value:"PLASTIC"},Lt.WOOD={type:3,value:"WOOD"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},Lt.USERDEFINED={type:3,value:"USERDEFINED"};let bt=Lt;t.IfcConstructionMaterialResourceTypeEnum=bt;const Pt=class{};Pt.ASSEMBLY={type:3,value:"ASSEMBLY"},Pt.FORMWORK={type:3,value:"FORMWORK"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"};let gt=Pt;t.IfcConstructionProductResourceTypeEnum=gt;const xt=class{};xt.FLOATING={type:3,value:"FLOATING"},xt.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},xt.PROPORTIONAL={type:3,value:"PROPORTIONAL"},xt.MULTIPOSITION={type:3,value:"MULTIPOSITION"},xt.TWOPOSITION={type:3,value:"TWOPOSITION"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let _t=xt;t.IfcControllerTypeEnum=_t;const Mt=class{};Mt.ACTIVE={type:3,value:"ACTIVE"},Mt.PASSIVE={type:3,value:"PASSIVE"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ft=Mt;t.IfcCooledBeamTypeEnum=Ft;const Ut=class{};Ut.NATURALDRAFT={type:3,value:"NATURALDRAFT"},Ut.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},Ut.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let wt=Ut;t.IfcCoolingTowerTypeEnum=wt;const Gt=class{};Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ht=Gt;t.IfcCostItemTypeEnum=Ht;const Bt=class{};Bt.BUDGET={type:3,value:"BUDGET"},Bt.COSTPLAN={type:3,value:"COSTPLAN"},Bt.ESTIMATE={type:3,value:"ESTIMATE"},Bt.TENDER={type:3,value:"TENDER"},Bt.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Bt.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Bt.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vt=Bt;t.IfcCostScheduleTypeEnum=Vt;const Wt=class{};Wt.CEILING={type:3,value:"CEILING"},Wt.FLOORING={type:3,value:"FLOORING"},Wt.CLADDING={type:3,value:"CLADDING"},Wt.ROOFING={type:3,value:"ROOFING"},Wt.MOLDING={type:3,value:"MOLDING"},Wt.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},Wt.INSULATION={type:3,value:"INSULATION"},Wt.MEMBRANE={type:3,value:"MEMBRANE"},Wt.SLEEVING={type:3,value:"SLEEVING"},Wt.WRAPPING={type:3,value:"WRAPPING"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"};let jt=Wt;t.IfcCoveringTypeEnum=jt;const Yt=class{};Yt.OFFICE={type:3,value:"OFFICE"},Yt.SITE={type:3,value:"SITE"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"};let zt=Yt;t.IfcCrewResourceTypeEnum=zt;const kt=class{};kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xt=kt;t.IfcCurtainWallTypeEnum=Xt;const Kt=class{};Kt.LINEAR={type:3,value:"LINEAR"},Kt.LOG_LINEAR={type:3,value:"LOG_LINEAR"},Kt.LOG_LOG={type:3,value:"LOG_LOG"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zt=Kt;t.IfcCurveInterpolationEnum=Zt;const qt=class{};qt.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},qt.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},qt.BLASTDAMPER={type:3,value:"BLASTDAMPER"},qt.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},qt.FIREDAMPER={type:3,value:"FIREDAMPER"},qt.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},qt.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},qt.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},qt.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},qt.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},qt.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qt=qt;t.IfcDamperTypeEnum=Qt;const Jt=class{};Jt.MEASURED={type:3,value:"MEASURED"},Jt.PREDICTED={type:3,value:"PREDICTED"},Jt.SIMULATED={type:3,value:"SIMULATED"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $t=Jt;t.IfcDataOriginEnum=$t;const te=class{};te.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},te.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},te.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},te.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},te.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},te.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},te.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},te.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},te.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},te.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},te.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},te.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},te.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},te.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},te.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},te.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},te.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},te.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},te.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},te.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},te.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},te.TORQUEUNIT={type:3,value:"TORQUEUNIT"},te.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},te.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},te.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},te.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},te.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},te.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},te.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},te.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},te.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},te.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},te.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},te.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},te.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},te.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},te.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},te.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},te.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},te.PHUNIT={type:3,value:"PHUNIT"},te.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},te.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},te.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},te.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},te.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},te.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},te.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},te.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},te.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},te.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},te.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},te.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},te.USERDEFINED={type:3,value:"USERDEFINED"};let ee=te;t.IfcDerivedUnitEnum=ee;const se=class{};se.POSITIVE={type:3,value:"POSITIVE"},se.NEGATIVE={type:3,value:"NEGATIVE"};let ie=se;t.IfcDirectionSenseEnum=ie;const re=class{};re.ANCHORPLATE={type:3,value:"ANCHORPLATE"},re.BRACKET={type:3,value:"BRACKET"},re.SHOE={type:3,value:"SHOE"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"};let ne=re;t.IfcDiscreteAccessoryTypeEnum=ne;const ae=class{};ae.FORMEDDUCT={type:3,value:"FORMEDDUCT"},ae.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},ae.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},ae.MANHOLE={type:3,value:"MANHOLE"},ae.METERCHAMBER={type:3,value:"METERCHAMBER"},ae.SUMP={type:3,value:"SUMP"},ae.TRENCH={type:3,value:"TRENCH"},ae.VALVECHAMBER={type:3,value:"VALVECHAMBER"},ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"};let oe=ae;t.IfcDistributionChamberElementTypeEnum=oe;const he=class{};he.CABLE={type:3,value:"CABLE"},he.CABLECARRIER={type:3,value:"CABLECARRIER"},he.DUCT={type:3,value:"DUCT"},he.PIPE={type:3,value:"PIPE"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"};let ce=he;t.IfcDistributionPortTypeEnum=ce;const le=class{};le.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},le.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},le.CHEMICAL={type:3,value:"CHEMICAL"},le.CHILLEDWATER={type:3,value:"CHILLEDWATER"},le.COMMUNICATION={type:3,value:"COMMUNICATION"},le.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},le.CONDENSERWATER={type:3,value:"CONDENSERWATER"},le.CONTROL={type:3,value:"CONTROL"},le.CONVEYING={type:3,value:"CONVEYING"},le.DATA={type:3,value:"DATA"},le.DISPOSAL={type:3,value:"DISPOSAL"},le.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},le.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},le.DRAINAGE={type:3,value:"DRAINAGE"},le.EARTHING={type:3,value:"EARTHING"},le.ELECTRICAL={type:3,value:"ELECTRICAL"},le.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},le.EXHAUST={type:3,value:"EXHAUST"},le.FIREPROTECTION={type:3,value:"FIREPROTECTION"},le.FUEL={type:3,value:"FUEL"},le.GAS={type:3,value:"GAS"},le.HAZARDOUS={type:3,value:"HAZARDOUS"},le.HEATING={type:3,value:"HEATING"},le.LIGHTING={type:3,value:"LIGHTING"},le.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},le.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},le.OIL={type:3,value:"OIL"},le.OPERATIONAL={type:3,value:"OPERATIONAL"},le.POWERGENERATION={type:3,value:"POWERGENERATION"},le.RAINWATER={type:3,value:"RAINWATER"},le.REFRIGERATION={type:3,value:"REFRIGERATION"},le.SECURITY={type:3,value:"SECURITY"},le.SEWAGE={type:3,value:"SEWAGE"},le.SIGNAL={type:3,value:"SIGNAL"},le.STORMWATER={type:3,value:"STORMWATER"},le.TELEPHONE={type:3,value:"TELEPHONE"},le.TV={type:3,value:"TV"},le.VACUUM={type:3,value:"VACUUM"},le.VENT={type:3,value:"VENT"},le.VENTILATION={type:3,value:"VENTILATION"},le.WASTEWATER={type:3,value:"WASTEWATER"},le.WATERSUPPLY={type:3,value:"WATERSUPPLY"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"};let pe=le;t.IfcDistributionSystemEnum=pe;const ue=class{};ue.PUBLIC={type:3,value:"PUBLIC"},ue.RESTRICTED={type:3,value:"RESTRICTED"},ue.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},ue.PERSONAL={type:3,value:"PERSONAL"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ee=ue;t.IfcDocumentConfidentialityEnum=Ee;const Ie=class{};Ie.DRAFT={type:3,value:"DRAFT"},Ie.FINALDRAFT={type:3,value:"FINALDRAFT"},Ie.FINAL={type:3,value:"FINAL"},Ie.REVISION={type:3,value:"REVISION"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"};let ye=Ie;t.IfcDocumentStatusEnum=ye;const Te=class{};Te.SWINGING={type:3,value:"SWINGING"},Te.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Te.SLIDING={type:3,value:"SLIDING"},Te.FOLDING={type:3,value:"FOLDING"},Te.REVOLVING={type:3,value:"REVOLVING"},Te.ROLLINGUP={type:3,value:"ROLLINGUP"},Te.FIXEDPANEL={type:3,value:"FIXEDPANEL"},Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"};let de=Te;t.IfcDoorPanelOperationEnum=de;const Ne=class{};Ne.LEFT={type:3,value:"LEFT"},Ne.MIDDLE={type:3,value:"MIDDLE"},Ne.RIGHT={type:3,value:"RIGHT"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"};let Re=Ne;t.IfcDoorPanelPositionEnum=Re;const fe=class{};fe.ALUMINIUM={type:3,value:"ALUMINIUM"},fe.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},fe.STEEL={type:3,value:"STEEL"},fe.WOOD={type:3,value:"WOOD"},fe.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},fe.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},fe.PLASTIC={type:3,value:"PLASTIC"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oe=fe;t.IfcDoorStyleConstructionEnum=Oe;const De=class{};De.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},De.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},De.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},De.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},De.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},De.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},De.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},De.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},De.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},De.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},De.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},De.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},De.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},De.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},De.REVOLVING={type:3,value:"REVOLVING"},De.ROLLINGUP={type:3,value:"ROLLINGUP"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"};let me=De;t.IfcDoorStyleOperationEnum=me;const Ae=class{};Ae.DOOR={type:3,value:"DOOR"},Ae.GATE={type:3,value:"GATE"},Ae.TRAPDOOR={type:3,value:"TRAPDOOR"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"};let Se=Ae;t.IfcDoorTypeEnum=Se;const Ce=class{};Ce.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Ce.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Ce.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Ce.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Ce.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Ce.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Ce.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Ce.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Ce.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Ce.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Ce.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Ce.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Ce.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Ce.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Ce.REVOLVING={type:3,value:"REVOLVING"},Ce.ROLLINGUP={type:3,value:"ROLLINGUP"},Ce.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Ce.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"};let ve=Ce;t.IfcDoorTypeOperationEnum=ve;const Le=class{};Le.BEND={type:3,value:"BEND"},Le.CONNECTOR={type:3,value:"CONNECTOR"},Le.ENTRY={type:3,value:"ENTRY"},Le.EXIT={type:3,value:"EXIT"},Le.JUNCTION={type:3,value:"JUNCTION"},Le.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Le.TRANSITION={type:3,value:"TRANSITION"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"};let be=Le;t.IfcDuctFittingTypeEnum=be;const Pe=class{};Pe.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Pe.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"};let ge=Pe;t.IfcDuctSegmentTypeEnum=ge;const xe=class{};xe.FLATOVAL={type:3,value:"FLATOVAL"},xe.RECTANGULAR={type:3,value:"RECTANGULAR"},xe.ROUND={type:3,value:"ROUND"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"};let _e=xe;t.IfcDuctSilencerTypeEnum=_e;const Me=class{};Me.DISHWASHER={type:3,value:"DISHWASHER"},Me.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Me.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},Me.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Me.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},Me.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},Me.FREEZER={type:3,value:"FREEZER"},Me.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Me.HANDDRYER={type:3,value:"HANDDRYER"},Me.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},Me.MICROWAVE={type:3,value:"MICROWAVE"},Me.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Me.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Me.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Me.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Me.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fe=Me;t.IfcElectricApplianceTypeEnum=Fe;const Ue=class{};Ue.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Ue.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Ue.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Ue.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let we=Ue;t.IfcElectricDistributionBoardTypeEnum=we;const Ge=class{};Ge.BATTERY={type:3,value:"BATTERY"},Ge.CAPACITORBANK={type:3,value:"CAPACITORBANK"},Ge.HARMONICFILTER={type:3,value:"HARMONICFILTER"},Ge.INDUCTORBANK={type:3,value:"INDUCTORBANK"},Ge.UPS={type:3,value:"UPS"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"};let He=Ge;t.IfcElectricFlowStorageDeviceTypeEnum=He;const Be=class{};Be.CHP={type:3,value:"CHP"},Be.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Be.STANDALONE={type:3,value:"STANDALONE"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ve=Be;t.IfcElectricGeneratorTypeEnum=Ve;const We=class{};We.DC={type:3,value:"DC"},We.INDUCTION={type:3,value:"INDUCTION"},We.POLYPHASE={type:3,value:"POLYPHASE"},We.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},We.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"};let je=We;t.IfcElectricMotorTypeEnum=je;const Ye=class{};Ye.TIMECLOCK={type:3,value:"TIMECLOCK"},Ye.TIMEDELAY={type:3,value:"TIMEDELAY"},Ye.RELAY={type:3,value:"RELAY"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"};let ze=Ye;t.IfcElectricTimeControlTypeEnum=ze;const ke=class{};ke.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},ke.ARCH={type:3,value:"ARCH"},ke.BEAM_GRID={type:3,value:"BEAM_GRID"},ke.BRACED_FRAME={type:3,value:"BRACED_FRAME"},ke.GIRDER={type:3,value:"GIRDER"},ke.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},ke.RIGID_FRAME={type:3,value:"RIGID_FRAME"},ke.SLAB_FIELD={type:3,value:"SLAB_FIELD"},ke.TRUSS={type:3,value:"TRUSS"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xe=ke;t.IfcElementAssemblyTypeEnum=Xe;const Ke=class{};Ke.COMPLEX={type:3,value:"COMPLEX"},Ke.ELEMENT={type:3,value:"ELEMENT"},Ke.PARTIAL={type:3,value:"PARTIAL"};let Ze=Ke;t.IfcElementCompositionEnum=Ze;const qe=class{};qe.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},qe.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},qe.USERDEFINED={type:3,value:"USERDEFINED"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qe=qe;t.IfcEngineTypeEnum=Qe;const Je=class{};Je.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Je.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Je.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Je.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Je.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Je.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Je.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Je.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Je.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"};let $e=Je;t.IfcEvaporativeCoolerTypeEnum=$e;const ts=class{};ts.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},ts.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},ts.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},ts.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},ts.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},ts.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let es=ts;t.IfcEvaporatorTypeEnum=es;const ss=class{};ss.EVENTRULE={type:3,value:"EVENTRULE"},ss.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},ss.EVENTTIME={type:3,value:"EVENTTIME"},ss.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let is=ss;t.IfcEventTriggerTypeEnum=is;const rs=class{};rs.STARTEVENT={type:3,value:"STARTEVENT"},rs.ENDEVENT={type:3,value:"ENDEVENT"},rs.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"};let ns=rs;t.IfcEventTypeEnum=ns;const as=class{};as.EXTERNAL={type:3,value:"EXTERNAL"},as.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},as.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},as.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"};let os=as;t.IfcExternalSpatialElementTypeEnum=os;const hs=class{};hs.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},hs.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},hs.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},hs.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},hs.TUBEAXIAL={type:3,value:"TUBEAXIAL"},hs.VANEAXIAL={type:3,value:"VANEAXIAL"},hs.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let cs=hs;t.IfcFanTypeEnum=cs;const ls=class{};ls.GLUE={type:3,value:"GLUE"},ls.MORTAR={type:3,value:"MORTAR"},ls.WELD={type:3,value:"WELD"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let ps=ls;t.IfcFastenerTypeEnum=ps;const us=class{};us.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},us.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},us.ODORFILTER={type:3,value:"ODORFILTER"},us.OILFILTER={type:3,value:"OILFILTER"},us.STRAINER={type:3,value:"STRAINER"},us.WATERFILTER={type:3,value:"WATERFILTER"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"};let Es=us;t.IfcFilterTypeEnum=Es;const Is=class{};Is.BREECHINGINLET={type:3,value:"BREECHINGINLET"},Is.FIREHYDRANT={type:3,value:"FIREHYDRANT"},Is.HOSEREEL={type:3,value:"HOSEREEL"},Is.SPRINKLER={type:3,value:"SPRINKLER"},Is.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},Is.USERDEFINED={type:3,value:"USERDEFINED"},Is.NOTDEFINED={type:3,value:"NOTDEFINED"};let ys=Is;t.IfcFireSuppressionTerminalTypeEnum=ys;const Ts=class{};Ts.SOURCE={type:3,value:"SOURCE"},Ts.SINK={type:3,value:"SINK"},Ts.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let ds=Ts;t.IfcFlowDirectionEnum=ds;const Ns=class{};Ns.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Ns.THERMOMETER={type:3,value:"THERMOMETER"},Ns.AMMETER={type:3,value:"AMMETER"},Ns.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Ns.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Ns.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Ns.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Ns.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Ns.USERDEFINED={type:3,value:"USERDEFINED"},Ns.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rs=Ns;t.IfcFlowInstrumentTypeEnum=Rs;const fs=class{};fs.ENERGYMETER={type:3,value:"ENERGYMETER"},fs.GASMETER={type:3,value:"GASMETER"},fs.OILMETER={type:3,value:"OILMETER"},fs.WATERMETER={type:3,value:"WATERMETER"},fs.USERDEFINED={type:3,value:"USERDEFINED"},fs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Os=fs;t.IfcFlowMeterTypeEnum=Os;const Ds=class{};Ds.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},Ds.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Ds.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Ds.PILE_CAP={type:3,value:"PILE_CAP"},Ds.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Ds.USERDEFINED={type:3,value:"USERDEFINED"},Ds.NOTDEFINED={type:3,value:"NOTDEFINED"};let ms=Ds;t.IfcFootingTypeEnum=ms;const As=class{};As.CHAIR={type:3,value:"CHAIR"},As.TABLE={type:3,value:"TABLE"},As.DESK={type:3,value:"DESK"},As.BED={type:3,value:"BED"},As.FILECABINET={type:3,value:"FILECABINET"},As.SHELF={type:3,value:"SHELF"},As.SOFA={type:3,value:"SOFA"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ss=As;t.IfcFurnitureTypeEnum=Ss;const Cs=class{};Cs.TERRAIN={type:3,value:"TERRAIN"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let vs=Cs;t.IfcGeographicElementTypeEnum=vs;const Ls=class{};Ls.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Ls.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Ls.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Ls.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Ls.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Ls.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Ls.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let bs=Ls;t.IfcGeometricProjectionEnum=bs;const Ps=class{};Ps.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Ps.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};let gs=Ps;t.IfcGlobalOrLocalEnum=gs;const xs=class{};xs.RECTANGULAR={type:3,value:"RECTANGULAR"},xs.RADIAL={type:3,value:"RADIAL"},xs.TRIANGULAR={type:3,value:"TRIANGULAR"},xs.IRREGULAR={type:3,value:"IRREGULAR"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"};let _s=xs;t.IfcGridTypeEnum=_s;const Ms=class{};Ms.PLATE={type:3,value:"PLATE"},Ms.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fs=Ms;t.IfcHeatExchangerTypeEnum=Fs;const Us=class{};Us.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Us.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Us.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Us.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Us.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Us.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Us.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Us.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Us.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Us.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Us.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Us.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Us.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Us.USERDEFINED={type:3,value:"USERDEFINED"},Us.NOTDEFINED={type:3,value:"NOTDEFINED"};let ws=Us;t.IfcHumidifierTypeEnum=ws;const Gs=class{};Gs.CYCLONIC={type:3,value:"CYCLONIC"},Gs.GREASE={type:3,value:"GREASE"},Gs.OIL={type:3,value:"OIL"},Gs.PETROL={type:3,value:"PETROL"},Gs.USERDEFINED={type:3,value:"USERDEFINED"},Gs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hs=Gs;t.IfcInterceptorTypeEnum=Hs;const Bs=class{};Bs.INTERNAL={type:3,value:"INTERNAL"},Bs.EXTERNAL={type:3,value:"EXTERNAL"},Bs.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Bs.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Bs.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vs=Bs;t.IfcInternalOrExternalEnum=Vs;const Ws=class{};Ws.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Ws.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Ws.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"};let js=Ws;t.IfcInventoryTypeEnum=js;const Ys=class{};Ys.DATA={type:3,value:"DATA"},Ys.POWER={type:3,value:"POWER"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"};let zs=Ys;t.IfcJunctionBoxTypeEnum=zs;const ks=class{};ks.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},ks.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},ks.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},ks.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let Xs=ks;t.IfcKnotType=Xs;const Ks=class{};Ks.ADMINISTRATION={type:3,value:"ADMINISTRATION"},Ks.CARPENTRY={type:3,value:"CARPENTRY"},Ks.CLEANING={type:3,value:"CLEANING"},Ks.CONCRETE={type:3,value:"CONCRETE"},Ks.DRYWALL={type:3,value:"DRYWALL"},Ks.ELECTRIC={type:3,value:"ELECTRIC"},Ks.FINISHING={type:3,value:"FINISHING"},Ks.FLOORING={type:3,value:"FLOORING"},Ks.GENERAL={type:3,value:"GENERAL"},Ks.HVAC={type:3,value:"HVAC"},Ks.LANDSCAPING={type:3,value:"LANDSCAPING"},Ks.MASONRY={type:3,value:"MASONRY"},Ks.PAINTING={type:3,value:"PAINTING"},Ks.PAVING={type:3,value:"PAVING"},Ks.PLUMBING={type:3,value:"PLUMBING"},Ks.ROOFING={type:3,value:"ROOFING"},Ks.SITEGRADING={type:3,value:"SITEGRADING"},Ks.STEELWORK={type:3,value:"STEELWORK"},Ks.SURVEYING={type:3,value:"SURVEYING"},Ks.USERDEFINED={type:3,value:"USERDEFINED"},Ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zs=Ks;t.IfcLaborResourceTypeEnum=Zs;const qs=class{};qs.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},qs.FLUORESCENT={type:3,value:"FLUORESCENT"},qs.HALOGEN={type:3,value:"HALOGEN"},qs.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},qs.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},qs.LED={type:3,value:"LED"},qs.METALHALIDE={type:3,value:"METALHALIDE"},qs.OLED={type:3,value:"OLED"},qs.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},qs.USERDEFINED={type:3,value:"USERDEFINED"},qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qs=qs;t.IfcLampTypeEnum=Qs;const Js=class{};Js.AXIS1={type:3,value:"AXIS1"},Js.AXIS2={type:3,value:"AXIS2"},Js.AXIS3={type:3,value:"AXIS3"};let $s=Js;t.IfcLayerSetDirectionEnum=$s;const ti=class{};ti.TYPE_A={type:3,value:"TYPE_A"},ti.TYPE_B={type:3,value:"TYPE_B"},ti.TYPE_C={type:3,value:"TYPE_C"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let ei=ti;t.IfcLightDistributionCurveEnum=ei;const si=class{};si.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},si.FLUORESCENT={type:3,value:"FLUORESCENT"},si.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},si.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},si.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},si.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},si.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},si.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},si.METALHALIDE={type:3,value:"METALHALIDE"},si.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},si.NOTDEFINED={type:3,value:"NOTDEFINED"};let ii=si;t.IfcLightEmissionSourceEnum=ii;const ri=class{};ri.POINTSOURCE={type:3,value:"POINTSOURCE"},ri.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},ri.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"};let ni=ri;t.IfcLightFixtureTypeEnum=ni;const ai=class{};ai.LOAD_GROUP={type:3,value:"LOAD_GROUP"},ai.LOAD_CASE={type:3,value:"LOAD_CASE"},ai.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let oi=ai;t.IfcLoadGroupTypeEnum=oi;const hi=class{};hi.LOGICALAND={type:3,value:"LOGICALAND"},hi.LOGICALOR={type:3,value:"LOGICALOR"},hi.LOGICALXOR={type:3,value:"LOGICALXOR"},hi.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},hi.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"};let ci=hi;t.IfcLogicalOperatorEnum=ci;const li=class{};li.ANCHORBOLT={type:3,value:"ANCHORBOLT"},li.BOLT={type:3,value:"BOLT"},li.DOWEL={type:3,value:"DOWEL"},li.NAIL={type:3,value:"NAIL"},li.NAILPLATE={type:3,value:"NAILPLATE"},li.RIVET={type:3,value:"RIVET"},li.SCREW={type:3,value:"SCREW"},li.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},li.STAPLE={type:3,value:"STAPLE"},li.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"};let pi=li;t.IfcMechanicalFastenerTypeEnum=pi;const ui=class{};ui.AIRSTATION={type:3,value:"AIRSTATION"},ui.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},ui.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},ui.OXYGENPLANT={type:3,value:"OXYGENPLANT"},ui.VACUUMSTATION={type:3,value:"VACUUMSTATION"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ei=ui;t.IfcMedicalDeviceTypeEnum=Ei;const Ii=class{};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.STRINGER={type:3,value:"STRINGER"},Ii.STRUT={type:3,value:"STRUT"},Ii.STUD={type:3,value:"STUD"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let yi=Ii;t.IfcMemberTypeEnum=yi;const Ti=class{};Ti.BELTDRIVE={type:3,value:"BELTDRIVE"},Ti.COUPLING={type:3,value:"COUPLING"},Ti.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let di=Ti;t.IfcMotorConnectionTypeEnum=di;const Ni=class{};Ni.NULL={type:3,value:"NULL"};let Ri=Ni;t.IfcNullStyle=Ri;const fi=class{};fi.PRODUCT={type:3,value:"PRODUCT"},fi.PROCESS={type:3,value:"PROCESS"},fi.CONTROL={type:3,value:"CONTROL"},fi.RESOURCE={type:3,value:"RESOURCE"},fi.ACTOR={type:3,value:"ACTOR"},fi.GROUP={type:3,value:"GROUP"},fi.PROJECT={type:3,value:"PROJECT"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oi=fi;t.IfcObjectTypeEnum=Oi;const Di=class{};Di.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Di.CODEWAIVER={type:3,value:"CODEWAIVER"},Di.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Di.EXTERNAL={type:3,value:"EXTERNAL"},Di.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Di.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Di.MODELVIEW={type:3,value:"MODELVIEW"},Di.PARAMETER={type:3,value:"PARAMETER"},Di.REQUIREMENT={type:3,value:"REQUIREMENT"},Di.SPECIFICATION={type:3,value:"SPECIFICATION"},Di.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Di.USERDEFINED={type:3,value:"USERDEFINED"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"};let mi=Di;t.IfcObjectiveEnum=mi;const Ai=class{};Ai.ASSIGNEE={type:3,value:"ASSIGNEE"},Ai.ASSIGNOR={type:3,value:"ASSIGNOR"},Ai.LESSEE={type:3,value:"LESSEE"},Ai.LESSOR={type:3,value:"LESSOR"},Ai.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ai.OWNER={type:3,value:"OWNER"},Ai.TENANT={type:3,value:"TENANT"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let Si=Ai;t.IfcOccupantTypeEnum=Si;const Ci=class{};Ci.OPENING={type:3,value:"OPENING"},Ci.RECESS={type:3,value:"RECESS"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"};let vi=Ci;t.IfcOpeningElementTypeEnum=vi;const Li=class{};Li.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Li.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Li.POWEROUTLET={type:3,value:"POWEROUTLET"},Li.DATAOUTLET={type:3,value:"DATAOUTLET"},Li.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},Li.USERDEFINED={type:3,value:"USERDEFINED"},Li.NOTDEFINED={type:3,value:"NOTDEFINED"};let bi=Li;t.IfcOutletTypeEnum=bi;const Pi=class{};Pi.USERDEFINED={type:3,value:"USERDEFINED"},Pi.NOTDEFINED={type:3,value:"NOTDEFINED"};let gi=Pi;t.IfcPerformanceHistoryTypeEnum=gi;const xi=class{};xi.GRILL={type:3,value:"GRILL"},xi.LOUVER={type:3,value:"LOUVER"},xi.SCREEN={type:3,value:"SCREEN"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"};let _i=xi;t.IfcPermeableCoveringOperationEnum=_i;const Mi=class{};Mi.ACCESS={type:3,value:"ACCESS"},Mi.BUILDING={type:3,value:"BUILDING"},Mi.WORK={type:3,value:"WORK"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fi=Mi;t.IfcPermitTypeEnum=Fi;const Ui=class{};Ui.PHYSICAL={type:3,value:"PHYSICAL"},Ui.VIRTUAL={type:3,value:"VIRTUAL"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let wi=Ui;t.IfcPhysicalOrVirtualEnum=wi;const Gi=class{};Gi.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Gi.COMPOSITE={type:3,value:"COMPOSITE"},Gi.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Gi.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hi=Gi;t.IfcPileConstructionEnum=Hi;const Bi=class{};Bi.BORED={type:3,value:"BORED"},Bi.DRIVEN={type:3,value:"DRIVEN"},Bi.JETGROUTING={type:3,value:"JETGROUTING"},Bi.COHESION={type:3,value:"COHESION"},Bi.FRICTION={type:3,value:"FRICTION"},Bi.SUPPORT={type:3,value:"SUPPORT"},Bi.USERDEFINED={type:3,value:"USERDEFINED"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vi=Bi;t.IfcPileTypeEnum=Vi;const Wi=class{};Wi.BEND={type:3,value:"BEND"},Wi.CONNECTOR={type:3,value:"CONNECTOR"},Wi.ENTRY={type:3,value:"ENTRY"},Wi.EXIT={type:3,value:"EXIT"},Wi.JUNCTION={type:3,value:"JUNCTION"},Wi.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Wi.TRANSITION={type:3,value:"TRANSITION"},Wi.USERDEFINED={type:3,value:"USERDEFINED"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ji=Wi;t.IfcPipeFittingTypeEnum=ji;const Yi=class{};Yi.CULVERT={type:3,value:"CULVERT"},Yi.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Yi.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Yi.GUTTER={type:3,value:"GUTTER"},Yi.SPOOL={type:3,value:"SPOOL"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"};let zi=Yi;t.IfcPipeSegmentTypeEnum=zi;const ki=class{};ki.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},ki.SHEET={type:3,value:"SHEET"},ki.USERDEFINED={type:3,value:"USERDEFINED"},ki.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xi=ki;t.IfcPlateTypeEnum=Xi;const Ki=class{};Ki.CURVE3D={type:3,value:"CURVE3D"},Ki.PCURVE_S1={type:3,value:"PCURVE_S1"},Ki.PCURVE_S2={type:3,value:"PCURVE_S2"};let Zi=Ki;t.IfcPreferredSurfaceCurveRepresentation=Zi;const qi=class{};qi.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},qi.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},qi.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},qi.CALIBRATION={type:3,value:"CALIBRATION"},qi.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},qi.SHUTDOWN={type:3,value:"SHUTDOWN"},qi.STARTUP={type:3,value:"STARTUP"},qi.USERDEFINED={type:3,value:"USERDEFINED"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qi=qi;t.IfcProcedureTypeEnum=Qi;const Ji=class{};Ji.CURVE={type:3,value:"CURVE"},Ji.AREA={type:3,value:"AREA"};let $i=Ji;t.IfcProfileTypeEnum=$i;const tr=class{};tr.CHANGEORDER={type:3,value:"CHANGEORDER"},tr.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},tr.MOVEORDER={type:3,value:"MOVEORDER"},tr.PURCHASEORDER={type:3,value:"PURCHASEORDER"},tr.WORKORDER={type:3,value:"WORKORDER"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let er=tr;t.IfcProjectOrderTypeEnum=er;const sr=class{};sr.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},sr.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};let ir=sr;t.IfcProjectedOrTrueLengthEnum=ir;const rr=class{};rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"};let nr=rr;t.IfcProjectionElementTypeEnum=nr;const ar=class{};ar.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},ar.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},ar.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},ar.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},ar.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},ar.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},ar.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let or=ar;t.IfcPropertySetTemplateTypeEnum=or;const hr=class{};hr.ELECTRONIC={type:3,value:"ELECTRONIC"},hr.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},hr.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},hr.THERMAL={type:3,value:"THERMAL"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"};let cr=hr;t.IfcProtectiveDeviceTrippingUnitTypeEnum=cr;const lr=class{};lr.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},lr.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},lr.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},lr.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},lr.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},lr.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},lr.VARISTOR={type:3,value:"VARISTOR"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let pr=lr;t.IfcProtectiveDeviceTypeEnum=pr;const ur=class{};ur.CIRCULATOR={type:3,value:"CIRCULATOR"},ur.ENDSUCTION={type:3,value:"ENDSUCTION"},ur.SPLITCASE={type:3,value:"SPLITCASE"},ur.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},ur.SUMPPUMP={type:3,value:"SUMPPUMP"},ur.VERTICALINLINE={type:3,value:"VERTICALINLINE"},ur.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let Er=ur;t.IfcPumpTypeEnum=Er;const Ir=class{};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"};let yr=Ir;t.IfcRailingTypeEnum=yr;const Tr=class{};Tr.STRAIGHT={type:3,value:"STRAIGHT"},Tr.SPIRAL={type:3,value:"SPIRAL"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let dr=Tr;t.IfcRampFlightTypeEnum=dr;const Nr=class{};Nr.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Nr.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Nr.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Nr.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Nr.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Nr.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rr=Nr;t.IfcRampTypeEnum=Rr;const fr=class{};fr.DAILY={type:3,value:"DAILY"},fr.WEEKLY={type:3,value:"WEEKLY"},fr.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},fr.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},fr.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},fr.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},fr.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},fr.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"};let Or=fr;t.IfcRecurrenceTypeEnum=Or;const Dr=class{};Dr.BLINN={type:3,value:"BLINN"},Dr.FLAT={type:3,value:"FLAT"},Dr.GLASS={type:3,value:"GLASS"},Dr.MATT={type:3,value:"MATT"},Dr.METAL={type:3,value:"METAL"},Dr.MIRROR={type:3,value:"MIRROR"},Dr.PHONG={type:3,value:"PHONG"},Dr.PLASTIC={type:3,value:"PLASTIC"},Dr.STRAUSS={type:3,value:"STRAUSS"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"};let mr=Dr;t.IfcReflectanceMethodEnum=mr;const Ar=class{};Ar.MAIN={type:3,value:"MAIN"},Ar.SHEAR={type:3,value:"SHEAR"},Ar.LIGATURE={type:3,value:"LIGATURE"},Ar.STUD={type:3,value:"STUD"},Ar.PUNCHING={type:3,value:"PUNCHING"},Ar.EDGE={type:3,value:"EDGE"},Ar.RING={type:3,value:"RING"},Ar.ANCHORING={type:3,value:"ANCHORING"},Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sr=Ar;t.IfcReinforcingBarRoleEnum=Sr;const Cr=class{};Cr.PLAIN={type:3,value:"PLAIN"},Cr.TEXTURED={type:3,value:"TEXTURED"};let vr=Cr;t.IfcReinforcingBarSurfaceEnum=vr;const Lr=class{};Lr.ANCHORING={type:3,value:"ANCHORING"},Lr.EDGE={type:3,value:"EDGE"},Lr.LIGATURE={type:3,value:"LIGATURE"},Lr.MAIN={type:3,value:"MAIN"},Lr.PUNCHING={type:3,value:"PUNCHING"},Lr.RING={type:3,value:"RING"},Lr.SHEAR={type:3,value:"SHEAR"},Lr.STUD={type:3,value:"STUD"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let br=Lr;t.IfcReinforcingBarTypeEnum=br;const Pr=class{};Pr.USERDEFINED={type:3,value:"USERDEFINED"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"};let gr=Pr;t.IfcReinforcingMeshTypeEnum=gr;const xr=class{};xr.SUPPLIER={type:3,value:"SUPPLIER"},xr.MANUFACTURER={type:3,value:"MANUFACTURER"},xr.CONTRACTOR={type:3,value:"CONTRACTOR"},xr.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},xr.ARCHITECT={type:3,value:"ARCHITECT"},xr.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},xr.COSTENGINEER={type:3,value:"COSTENGINEER"},xr.CLIENT={type:3,value:"CLIENT"},xr.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},xr.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},xr.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},xr.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},xr.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},xr.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},xr.CIVILENGINEER={type:3,value:"CIVILENGINEER"},xr.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},xr.ENGINEER={type:3,value:"ENGINEER"},xr.OWNER={type:3,value:"OWNER"},xr.CONSULTANT={type:3,value:"CONSULTANT"},xr.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},xr.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},xr.RESELLER={type:3,value:"RESELLER"},xr.USERDEFINED={type:3,value:"USERDEFINED"};let _r=xr;t.IfcRoleEnum=_r;const Mr=class{};Mr.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Mr.SHED_ROOF={type:3,value:"SHED_ROOF"},Mr.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Mr.HIP_ROOF={type:3,value:"HIP_ROOF"},Mr.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Mr.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Mr.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Mr.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Mr.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Mr.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Mr.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Mr.DOME_ROOF={type:3,value:"DOME_ROOF"},Mr.FREEFORM={type:3,value:"FREEFORM"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fr=Mr;t.IfcRoofTypeEnum=Fr;const Ur=class{};Ur.EXA={type:3,value:"EXA"},Ur.PETA={type:3,value:"PETA"},Ur.TERA={type:3,value:"TERA"},Ur.GIGA={type:3,value:"GIGA"},Ur.MEGA={type:3,value:"MEGA"},Ur.KILO={type:3,value:"KILO"},Ur.HECTO={type:3,value:"HECTO"},Ur.DECA={type:3,value:"DECA"},Ur.DECI={type:3,value:"DECI"},Ur.CENTI={type:3,value:"CENTI"},Ur.MILLI={type:3,value:"MILLI"},Ur.MICRO={type:3,value:"MICRO"},Ur.NANO={type:3,value:"NANO"},Ur.PICO={type:3,value:"PICO"},Ur.FEMTO={type:3,value:"FEMTO"},Ur.ATTO={type:3,value:"ATTO"};let wr=Ur;t.IfcSIPrefix=wr;const Gr=class{};Gr.AMPERE={type:3,value:"AMPERE"},Gr.BECQUEREL={type:3,value:"BECQUEREL"},Gr.CANDELA={type:3,value:"CANDELA"},Gr.COULOMB={type:3,value:"COULOMB"},Gr.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Gr.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Gr.FARAD={type:3,value:"FARAD"},Gr.GRAM={type:3,value:"GRAM"},Gr.GRAY={type:3,value:"GRAY"},Gr.HENRY={type:3,value:"HENRY"},Gr.HERTZ={type:3,value:"HERTZ"},Gr.JOULE={type:3,value:"JOULE"},Gr.KELVIN={type:3,value:"KELVIN"},Gr.LUMEN={type:3,value:"LUMEN"},Gr.LUX={type:3,value:"LUX"},Gr.METRE={type:3,value:"METRE"},Gr.MOLE={type:3,value:"MOLE"},Gr.NEWTON={type:3,value:"NEWTON"},Gr.OHM={type:3,value:"OHM"},Gr.PASCAL={type:3,value:"PASCAL"},Gr.RADIAN={type:3,value:"RADIAN"},Gr.SECOND={type:3,value:"SECOND"},Gr.SIEMENS={type:3,value:"SIEMENS"},Gr.SIEVERT={type:3,value:"SIEVERT"},Gr.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Gr.STERADIAN={type:3,value:"STERADIAN"},Gr.TESLA={type:3,value:"TESLA"},Gr.VOLT={type:3,value:"VOLT"},Gr.WATT={type:3,value:"WATT"},Gr.WEBER={type:3,value:"WEBER"};let Hr=Gr;t.IfcSIUnitName=Hr;const Br=class{};Br.BATH={type:3,value:"BATH"},Br.BIDET={type:3,value:"BIDET"},Br.CISTERN={type:3,value:"CISTERN"},Br.SHOWER={type:3,value:"SHOWER"},Br.SINK={type:3,value:"SINK"},Br.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Br.TOILETPAN={type:3,value:"TOILETPAN"},Br.URINAL={type:3,value:"URINAL"},Br.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Br.WCSEAT={type:3,value:"WCSEAT"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vr=Br;t.IfcSanitaryTerminalTypeEnum=Vr;const Wr=class{};Wr.UNIFORM={type:3,value:"UNIFORM"},Wr.TAPERED={type:3,value:"TAPERED"};let jr=Wr;t.IfcSectionTypeEnum=jr;const Yr=class{};Yr.COSENSOR={type:3,value:"COSENSOR"},Yr.CO2SENSOR={type:3,value:"CO2SENSOR"},Yr.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Yr.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Yr.FIRESENSOR={type:3,value:"FIRESENSOR"},Yr.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Yr.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Yr.GASSENSOR={type:3,value:"GASSENSOR"},Yr.HEATSENSOR={type:3,value:"HEATSENSOR"},Yr.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Yr.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Yr.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Yr.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Yr.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Yr.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Yr.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Yr.PHSENSOR={type:3,value:"PHSENSOR"},Yr.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Yr.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Yr.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Yr.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Yr.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Yr.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Yr.WINDSENSOR={type:3,value:"WINDSENSOR"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let zr=Yr;t.IfcSensorTypeEnum=zr;const kr=class{};kr.START_START={type:3,value:"START_START"},kr.START_FINISH={type:3,value:"START_FINISH"},kr.FINISH_START={type:3,value:"FINISH_START"},kr.FINISH_FINISH={type:3,value:"FINISH_FINISH"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xr=kr;t.IfcSequenceEnum=Xr;const Kr=class{};Kr.JALOUSIE={type:3,value:"JALOUSIE"},Kr.SHUTTER={type:3,value:"SHUTTER"},Kr.AWNING={type:3,value:"AWNING"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zr=Kr;t.IfcShadingDeviceTypeEnum=Zr;const qr=class{};qr.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},qr.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},qr.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},qr.P_LISTVALUE={type:3,value:"P_LISTVALUE"},qr.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},qr.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},qr.Q_LENGTH={type:3,value:"Q_LENGTH"},qr.Q_AREA={type:3,value:"Q_AREA"},qr.Q_VOLUME={type:3,value:"Q_VOLUME"},qr.Q_COUNT={type:3,value:"Q_COUNT"},qr.Q_WEIGHT={type:3,value:"Q_WEIGHT"},qr.Q_TIME={type:3,value:"Q_TIME"};let Qr=qr;t.IfcSimplePropertyTemplateTypeEnum=Qr;const Jr=class{};Jr.FLOOR={type:3,value:"FLOOR"},Jr.ROOF={type:3,value:"ROOF"},Jr.LANDING={type:3,value:"LANDING"},Jr.BASESLAB={type:3,value:"BASESLAB"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"};let $r=Jr;t.IfcSlabTypeEnum=$r;const tn=class{};tn.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},tn.SOLARPANEL={type:3,value:"SOLARPANEL"},tn.USERDEFINED={type:3,value:"USERDEFINED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"};let en=tn;t.IfcSolarDeviceTypeEnum=en;const sn=class{};sn.CONVECTOR={type:3,value:"CONVECTOR"},sn.RADIATOR={type:3,value:"RADIATOR"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let rn=sn;t.IfcSpaceHeaterTypeEnum=rn;const nn=class{};nn.SPACE={type:3,value:"SPACE"},nn.PARKING={type:3,value:"PARKING"},nn.GFA={type:3,value:"GFA"},nn.INTERNAL={type:3,value:"INTERNAL"},nn.EXTERNAL={type:3,value:"EXTERNAL"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"};let an=nn;t.IfcSpaceTypeEnum=an;const on=class{};on.CONSTRUCTION={type:3,value:"CONSTRUCTION"},on.FIRESAFETY={type:3,value:"FIRESAFETY"},on.LIGHTING={type:3,value:"LIGHTING"},on.OCCUPANCY={type:3,value:"OCCUPANCY"},on.SECURITY={type:3,value:"SECURITY"},on.THERMAL={type:3,value:"THERMAL"},on.TRANSPORT={type:3,value:"TRANSPORT"},on.VENTILATION={type:3,value:"VENTILATION"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"};let hn=on;t.IfcSpatialZoneTypeEnum=hn;const cn=class{};cn.BIRDCAGE={type:3,value:"BIRDCAGE"},cn.COWL={type:3,value:"COWL"},cn.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"};let ln=cn;t.IfcStackTerminalTypeEnum=ln;const pn=class{};pn.STRAIGHT={type:3,value:"STRAIGHT"},pn.WINDER={type:3,value:"WINDER"},pn.SPIRAL={type:3,value:"SPIRAL"},pn.CURVED={type:3,value:"CURVED"},pn.FREEFORM={type:3,value:"FREEFORM"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"};let un=pn;t.IfcStairFlightTypeEnum=un;const En=class{};En.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},En.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},En.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},En.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},En.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},En.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},En.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},En.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},En.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},En.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},En.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},En.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},En.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},En.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},En.USERDEFINED={type:3,value:"USERDEFINED"},En.NOTDEFINED={type:3,value:"NOTDEFINED"};let In=En;t.IfcStairTypeEnum=In;const yn=class{};yn.READWRITE={type:3,value:"READWRITE"},yn.READONLY={type:3,value:"READONLY"},yn.LOCKED={type:3,value:"LOCKED"},yn.READWRITELOCKED={type:3,value:"READWRITELOCKED"},yn.READONLYLOCKED={type:3,value:"READONLYLOCKED"};let Tn=yn;t.IfcStateEnum=Tn;const dn=class{};dn.CONST={type:3,value:"CONST"},dn.LINEAR={type:3,value:"LINEAR"},dn.POLYGONAL={type:3,value:"POLYGONAL"},dn.EQUIDISTANT={type:3,value:"EQUIDISTANT"},dn.SINUS={type:3,value:"SINUS"},dn.PARABOLA={type:3,value:"PARABOLA"},dn.DISCRETE={type:3,value:"DISCRETE"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Nn=dn;t.IfcStructuralCurveActivityTypeEnum=Nn;const Rn=class{};Rn.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Rn.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Rn.CABLE={type:3,value:"CABLE"},Rn.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Rn.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"};let fn=Rn;t.IfcStructuralCurveMemberTypeEnum=fn;const On=class{};On.CONST={type:3,value:"CONST"},On.BILINEAR={type:3,value:"BILINEAR"},On.DISCRETE={type:3,value:"DISCRETE"},On.ISOCONTOUR={type:3,value:"ISOCONTOUR"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"};let Dn=On;t.IfcStructuralSurfaceActivityTypeEnum=Dn;const mn=class{};mn.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},mn.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},mn.SHELL={type:3,value:"SHELL"},mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"};let An=mn;t.IfcStructuralSurfaceMemberTypeEnum=An;const Sn=class{};Sn.PURCHASE={type:3,value:"PURCHASE"},Sn.WORK={type:3,value:"WORK"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Cn=Sn;t.IfcSubContractResourceTypeEnum=Cn;const vn=class{};vn.MARK={type:3,value:"MARK"},vn.TAG={type:3,value:"TAG"},vn.TREATMENT={type:3,value:"TREATMENT"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ln=vn;t.IfcSurfaceFeatureTypeEnum=Ln;const bn=class{};bn.POSITIVE={type:3,value:"POSITIVE"},bn.NEGATIVE={type:3,value:"NEGATIVE"},bn.BOTH={type:3,value:"BOTH"};let Pn=bn;t.IfcSurfaceSide=Pn;const gn=class{};gn.CONTACTOR={type:3,value:"CONTACTOR"},gn.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},gn.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},gn.KEYPAD={type:3,value:"KEYPAD"},gn.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},gn.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},gn.STARTER={type:3,value:"STARTER"},gn.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},gn.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"};let xn=gn;t.IfcSwitchingDeviceTypeEnum=xn;const _n=class{};_n.PANEL={type:3,value:"PANEL"},_n.WORKSURFACE={type:3,value:"WORKSURFACE"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"};let Mn=_n;t.IfcSystemFurnitureElementTypeEnum=Mn;const Fn=class{};Fn.BASIN={type:3,value:"BASIN"},Fn.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Fn.EXPANSION={type:3,value:"EXPANSION"},Fn.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Fn.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Fn.STORAGE={type:3,value:"STORAGE"},Fn.VESSEL={type:3,value:"VESSEL"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Un=Fn;t.IfcTankTypeEnum=Un;const wn=class{};wn.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},wn.WORKTIME={type:3,value:"WORKTIME"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gn=wn;t.IfcTaskDurationEnum=Gn;const Hn=class{};Hn.ATTENDANCE={type:3,value:"ATTENDANCE"},Hn.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Hn.DEMOLITION={type:3,value:"DEMOLITION"},Hn.DISMANTLE={type:3,value:"DISMANTLE"},Hn.DISPOSAL={type:3,value:"DISPOSAL"},Hn.INSTALLATION={type:3,value:"INSTALLATION"},Hn.LOGISTIC={type:3,value:"LOGISTIC"},Hn.MAINTENANCE={type:3,value:"MAINTENANCE"},Hn.MOVE={type:3,value:"MOVE"},Hn.OPERATION={type:3,value:"OPERATION"},Hn.REMOVAL={type:3,value:"REMOVAL"},Hn.RENOVATION={type:3,value:"RENOVATION"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Bn=Hn;t.IfcTaskTypeEnum=Bn;const Vn=class{};Vn.COUPLER={type:3,value:"COUPLER"},Vn.FIXED_END={type:3,value:"FIXED_END"},Vn.TENSIONING_END={type:3,value:"TENSIONING_END"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Wn=Vn;t.IfcTendonAnchorTypeEnum=Wn;const jn=class{};jn.BAR={type:3,value:"BAR"},jn.COATED={type:3,value:"COATED"},jn.STRAND={type:3,value:"STRAND"},jn.WIRE={type:3,value:"WIRE"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Yn=jn;t.IfcTendonTypeEnum=Yn;const zn=class{};zn.LEFT={type:3,value:"LEFT"},zn.RIGHT={type:3,value:"RIGHT"},zn.UP={type:3,value:"UP"},zn.DOWN={type:3,value:"DOWN"};let kn=zn;t.IfcTextPath=kn;const Xn=class{};Xn.CONTINUOUS={type:3,value:"CONTINUOUS"},Xn.DISCRETE={type:3,value:"DISCRETE"},Xn.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Xn.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Xn.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Xn.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Kn=Xn;t.IfcTimeSeriesDataTypeEnum=Kn;const Zn=class{};Zn.CURRENT={type:3,value:"CURRENT"},Zn.FREQUENCY={type:3,value:"FREQUENCY"},Zn.INVERTER={type:3,value:"INVERTER"},Zn.RECTIFIER={type:3,value:"RECTIFIER"},Zn.VOLTAGE={type:3,value:"VOLTAGE"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"};let qn=Zn;t.IfcTransformerTypeEnum=qn;const Qn=class{};Qn.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Qn.CONTINUOUS={type:3,value:"CONTINUOUS"},Qn.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Qn.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"};let Jn=Qn;t.IfcTransitionCode=Jn;const $n=class{};$n.ELEVATOR={type:3,value:"ELEVATOR"},$n.ESCALATOR={type:3,value:"ESCALATOR"},$n.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},$n.CRANEWAY={type:3,value:"CRANEWAY"},$n.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"};let ta=$n;t.IfcTransportElementTypeEnum=ta;const ea=class{};ea.CARTESIAN={type:3,value:"CARTESIAN"},ea.PARAMETER={type:3,value:"PARAMETER"},ea.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let sa=ea;t.IfcTrimmingPreference=sa;const ia=class{};ia.FINNED={type:3,value:"FINNED"},ia.USERDEFINED={type:3,value:"USERDEFINED"},ia.NOTDEFINED={type:3,value:"NOTDEFINED"};let ra=ia;t.IfcTubeBundleTypeEnum=ra;const na=class{};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"};let aa=na;t.IfcUnitEnum=aa;const oa=class{};oa.ALARMPANEL={type:3,value:"ALARMPANEL"},oa.CONTROLPANEL={type:3,value:"CONTROLPANEL"},oa.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},oa.INDICATORPANEL={type:3,value:"INDICATORPANEL"},oa.MIMICPANEL={type:3,value:"MIMICPANEL"},oa.HUMIDISTAT={type:3,value:"HUMIDISTAT"},oa.THERMOSTAT={type:3,value:"THERMOSTAT"},oa.WEATHERSTATION={type:3,value:"WEATHERSTATION"},oa.USERDEFINED={type:3,value:"USERDEFINED"},oa.NOTDEFINED={type:3,value:"NOTDEFINED"};let ha=oa;t.IfcUnitaryControlElementTypeEnum=ha;const ca=class{};ca.AIRHANDLER={type:3,value:"AIRHANDLER"},ca.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ca.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ca.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ca.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ca.USERDEFINED={type:3,value:"USERDEFINED"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"};let la=ca;t.IfcUnitaryEquipmentTypeEnum=la;const pa=class{};pa.AIRRELEASE={type:3,value:"AIRRELEASE"},pa.ANTIVACUUM={type:3,value:"ANTIVACUUM"},pa.CHANGEOVER={type:3,value:"CHANGEOVER"},pa.CHECK={type:3,value:"CHECK"},pa.COMMISSIONING={type:3,value:"COMMISSIONING"},pa.DIVERTING={type:3,value:"DIVERTING"},pa.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},pa.DOUBLECHECK={type:3,value:"DOUBLECHECK"},pa.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},pa.FAUCET={type:3,value:"FAUCET"},pa.FLUSHING={type:3,value:"FLUSHING"},pa.GASCOCK={type:3,value:"GASCOCK"},pa.GASTAP={type:3,value:"GASTAP"},pa.ISOLATING={type:3,value:"ISOLATING"},pa.MIXING={type:3,value:"MIXING"},pa.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},pa.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},pa.REGULATING={type:3,value:"REGULATING"},pa.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},pa.STEAMTRAP={type:3,value:"STEAMTRAP"},pa.STOPCOCK={type:3,value:"STOPCOCK"},pa.USERDEFINED={type:3,value:"USERDEFINED"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"};let ua=pa;t.IfcValveTypeEnum=ua;const Ea=class{};Ea.COMPRESSION={type:3,value:"COMPRESSION"},Ea.SPRING={type:3,value:"SPRING"},Ea.USERDEFINED={type:3,value:"USERDEFINED"},Ea.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ia=Ea;t.IfcVibrationIsolatorTypeEnum=Ia;const ya=class{};ya.CUTOUT={type:3,value:"CUTOUT"},ya.NOTCH={type:3,value:"NOTCH"},ya.HOLE={type:3,value:"HOLE"},ya.MITER={type:3,value:"MITER"},ya.CHAMFER={type:3,value:"CHAMFER"},ya.EDGE={type:3,value:"EDGE"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ta=ya;t.IfcVoidingFeatureTypeEnum=Ta;const da=class{};da.MOVABLE={type:3,value:"MOVABLE"},da.PARAPET={type:3,value:"PARAPET"},da.PARTITIONING={type:3,value:"PARTITIONING"},da.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},da.SHEAR={type:3,value:"SHEAR"},da.SOLIDWALL={type:3,value:"SOLIDWALL"},da.STANDARD={type:3,value:"STANDARD"},da.POLYGONAL={type:3,value:"POLYGONAL"},da.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"};let Na=da;t.IfcWallTypeEnum=Na;const Ra=class{};Ra.FLOORTRAP={type:3,value:"FLOORTRAP"},Ra.FLOORWASTE={type:3,value:"FLOORWASTE"},Ra.GULLYSUMP={type:3,value:"GULLYSUMP"},Ra.GULLYTRAP={type:3,value:"GULLYTRAP"},Ra.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Ra.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Ra.WASTETRAP={type:3,value:"WASTETRAP"},Ra.USERDEFINED={type:3,value:"USERDEFINED"},Ra.NOTDEFINED={type:3,value:"NOTDEFINED"};let fa=Ra;t.IfcWasteTerminalTypeEnum=fa;const Oa=class{};Oa.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Oa.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Oa.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Oa.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Oa.TOPHUNG={type:3,value:"TOPHUNG"},Oa.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Oa.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Oa.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Oa.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Oa.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Oa.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Oa.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Oa.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Oa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Da=Oa;t.IfcWindowPanelOperationEnum=Da;const ma=class{};ma.LEFT={type:3,value:"LEFT"},ma.MIDDLE={type:3,value:"MIDDLE"},ma.RIGHT={type:3,value:"RIGHT"},ma.BOTTOM={type:3,value:"BOTTOM"},ma.TOP={type:3,value:"TOP"},ma.NOTDEFINED={type:3,value:"NOTDEFINED"};let Aa=ma;t.IfcWindowPanelPositionEnum=Aa;const Sa=class{};Sa.ALUMINIUM={type:3,value:"ALUMINIUM"},Sa.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Sa.STEEL={type:3,value:"STEEL"},Sa.WOOD={type:3,value:"WOOD"},Sa.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Sa.PLASTIC={type:3,value:"PLASTIC"},Sa.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},Sa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ca=Sa;t.IfcWindowStyleConstructionEnum=Ca;const va=class{};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"};let La=va;t.IfcWindowStyleOperationEnum=La;const ba=class{};ba.WINDOW={type:3,value:"WINDOW"},ba.SKYLIGHT={type:3,value:"SKYLIGHT"},ba.LIGHTDOME={type:3,value:"LIGHTDOME"},ba.USERDEFINED={type:3,value:"USERDEFINED"},ba.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pa=ba;t.IfcWindowTypeEnum=Pa;const ga=class{};ga.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ga.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ga.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ga.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ga.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ga.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ga.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ga.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ga.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ga.USERDEFINED={type:3,value:"USERDEFINED"},ga.NOTDEFINED={type:3,value:"NOTDEFINED"};let xa=ga;t.IfcWindowTypePartitioningEnum=xa;const _a=class{};_a.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},_a.SECONDSHIFT={type:3,value:"SECONDSHIFT"},_a.THIRDSHIFT={type:3,value:"THIRDSHIFT"},_a.USERDEFINED={type:3,value:"USERDEFINED"},_a.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ma=_a;t.IfcWorkCalendarTypeEnum=Ma;const Fa=class{};Fa.ACTUAL={type:3,value:"ACTUAL"},Fa.BASELINE={type:3,value:"BASELINE"},Fa.PLANNED={type:3,value:"PLANNED"},Fa.USERDEFINED={type:3,value:"USERDEFINED"},Fa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ua=Fa;t.IfcWorkPlanTypeEnum=Ua;const wa=class{};wa.ACTUAL={type:3,value:"ACTUAL"},wa.BASELINE={type:3,value:"BASELINE"},wa.PLANNED={type:3,value:"PLANNED"},wa.USERDEFINED={type:3,value:"USERDEFINED"},wa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ga=wa;t.IfcWorkScheduleTypeEnum=Ga;t.IfcActorRole=class extends Gu{constructor(t,e,s){super(),this.Role=t,this.UserDefinedRole=e,this.Description=s,this.type=3630933823}};class Ha extends Gu{constructor(t,e,s){super(),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.type=618182010}}t.IfcAddress=Ha;t.IfcApplication=class extends Gu{constructor(t,e,s,i){super(),this.ApplicationDeveloper=t,this.Version=e,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class Ba extends Gu{constructor(t,e,s,i,r,n,a,o,h,c){super(),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.Category=a,this.Condition=o,this.ArithmeticOperator=h,this.Components=c,this.type=411424972}}t.IfcAppliedValue=Ba;t.IfcApproval=class extends Gu{constructor(t,e,s,i,r,n,a,o,h){super(),this.Identifier=t,this.Name=e,this.Description=s,this.TimeOfApproval=i,this.Status=r,this.Level=n,this.Qualifier=a,this.RequestingApproval=o,this.GivingApproval=h,this.type=130549933}};class Va extends Gu{constructor(t){super(),this.Name=t,this.type=4037036970}}t.IfcBoundaryCondition=Va;t.IfcBoundaryEdgeCondition=class extends Va{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TranslationalStiffnessByLengthX=e,this.TranslationalStiffnessByLengthY=s,this.TranslationalStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=r,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};t.IfcBoundaryFaceCondition=class extends Va{constructor(t,e,s,i){super(t),this.Name=t,this.TranslationalStiffnessByAreaX=e,this.TranslationalStiffnessByAreaY=s,this.TranslationalStiffnessByAreaZ=i,this.type=3367102660}};class Wa extends Va{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TranslationalStiffnessX=e,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}t.IfcBoundaryNodeCondition=Wa;t.IfcBoundaryNodeConditionWarping=class extends Wa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.TranslationalStiffnessX=e,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=o,this.type=2069777674}};class ja extends Gu{constructor(){super(),this.type=2859738748}}t.IfcConnectionGeometry=ja;class Ya extends ja{constructor(t,e){super(),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.type=2614616156}}t.IfcConnectionPointGeometry=Ya;t.IfcConnectionSurfaceGeometry=class extends ja{constructor(t,e){super(),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=e,this.type=2732653382}};t.IfcConnectionVolumeGeometry=class extends ja{constructor(t,e){super(),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=e,this.type=775493141}};class za extends Gu{constructor(t,e,s,i,r,n,a){super(),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}t.IfcConstraint=za;class ka extends Gu{constructor(t,e){super(),this.SourceCRS=t,this.TargetCRS=e,this.type=1785450214}}t.IfcCoordinateOperation=ka;class Xa extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.GeodeticDatum=s,this.VerticalDatum=i,this.type=1466758467}}t.IfcCoordinateReferenceSystem=Xa;t.IfcCostValue=class extends Ba{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h,c),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.Category=a,this.Condition=o,this.ArithmeticOperator=h,this.Components=c,this.type=602808272}};t.IfcDerivedUnit=class extends Gu{constructor(t,e,s){super(),this.Elements=t,this.UnitType=e,this.UserDefinedType=s,this.type=1765591967}};t.IfcDerivedUnitElement=class extends Gu{constructor(t,e){super(),this.Unit=t,this.Exponent=e,this.type=1045800335}};t.IfcDimensionalExponents=class extends Gu{constructor(t,e,s,i,r,n,a){super(),this.LengthExponent=t,this.MassExponent=e,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=r,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};class Ka extends Gu{constructor(){super(),this.type=4294318154}}t.IfcExternalInformation=Ka;class Za extends Gu{constructor(t,e,s){super(),this.Location=t,this.Identification=e,this.Name=s,this.type=3200245327}}t.IfcExternalReference=Za;t.IfcExternallyDefinedHatchStyle=class extends Za{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=2242383968}};t.IfcExternallyDefinedSurfaceStyle=class extends Za{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=1040185647}};t.IfcExternallyDefinedTextFont=class extends Za{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=3548104201}};t.IfcGridAxis=class extends Gu{constructor(t,e,s){super(),this.AxisTag=t,this.AxisCurve=e,this.SameSense=s,this.type=852622518}};t.IfcIrregularTimeSeriesValue=class extends Gu{constructor(t,e){super(),this.TimeStamp=t,this.ListValues=e,this.type=3020489413}};t.IfcLibraryInformation=class extends Ka{constructor(t,e,s,i,r,n){super(),this.Name=t,this.Version=e,this.Publisher=s,this.VersionDate=i,this.Location=r,this.Description=n,this.type=2655187982}};t.IfcLibraryReference=class extends Za{constructor(t,e,s,i,r,n){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.Description=i,this.Language=r,this.ReferencedLibrary=n,this.type=3452421091}};t.IfcLightDistributionData=class extends Gu{constructor(t,e,s){super(),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=e,this.LuminousIntensity=s,this.type=4162380809}};t.IfcLightIntensityDistribution=class extends Gu{constructor(t,e){super(),this.LightDistributionCurve=t,this.DistributionData=e,this.type=1566485204}};t.IfcMapConversion=class extends ka{constructor(t,e,s,i,r,n,a,o){super(t,e),this.SourceCRS=t,this.TargetCRS=e,this.Eastings=s,this.Northings=i,this.OrthogonalHeight=r,this.XAxisAbscissa=n,this.XAxisOrdinate=a,this.Scale=o,this.type=3057273783}};t.IfcMaterialClassificationRelationship=class extends Gu{constructor(t,e){super(),this.MaterialClassifications=t,this.ClassifiedMaterial=e,this.type=1847130766}};class qa extends Gu{constructor(){super(),this.type=760658860}}t.IfcMaterialDefinition=qa;class Qa extends qa{constructor(t,e,s,i,r,n,a){super(),this.Material=t,this.LayerThickness=e,this.IsVentilated=s,this.Name=i,this.Description=r,this.Category=n,this.Priority=a,this.type=248100487}}t.IfcMaterialLayer=Qa;t.IfcMaterialLayerSet=class extends qa{constructor(t,e,s){super(),this.MaterialLayers=t,this.LayerSetName=e,this.Description=s,this.type=3303938423}};t.IfcMaterialLayerWithOffsets=class extends Qa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.Material=t,this.LayerThickness=e,this.IsVentilated=s,this.Name=i,this.Description=r,this.Category=n,this.Priority=a,this.OffsetDirection=o,this.OffsetValues=h,this.type=1847252529}};t.IfcMaterialList=class extends Gu{constructor(t){super(),this.Materials=t,this.type=2199411900}};class Ja extends qa{constructor(t,e,s,i,r,n){super(),this.Name=t,this.Description=e,this.Material=s,this.Profile=i,this.Priority=r,this.Category=n,this.type=2235152071}}t.IfcMaterialProfile=Ja;t.IfcMaterialProfileSet=class extends qa{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.MaterialProfiles=s,this.CompositeProfile=i,this.type=164193824}};t.IfcMaterialProfileWithOffsets=class extends Ja{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.Name=t,this.Description=e,this.Material=s,this.Profile=i,this.Priority=r,this.Category=n,this.OffsetValues=a,this.type=552965576}};class $a extends Gu{constructor(){super(),this.type=1507914824}}t.IfcMaterialUsageDefinition=$a;t.IfcMeasureWithUnit=class extends Gu{constructor(t,e){super(),this.ValueComponent=t,this.UnitComponent=e,this.type=2597039031}};t.IfcMetric=class extends za{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=o,this.ValueSource=h,this.DataValue=c,this.ReferencePath=l,this.type=3368373690}};t.IfcMonetaryUnit=class extends Gu{constructor(t){super(),this.Currency=t,this.type=2706619895}};class to extends Gu{constructor(t,e){super(),this.Dimensions=t,this.UnitType=e,this.type=1918398963}}t.IfcNamedUnit=to;class eo extends Gu{constructor(){super(),this.type=3701648758}}t.IfcObjectPlacement=eo;t.IfcObjective=class extends za{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=o,this.LogicalAggregator=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=l,this.type=2251480897}};t.IfcOrganization=class extends Gu{constructor(t,e,s,i,r){super(),this.Identification=t,this.Name=e,this.Description=s,this.Roles=i,this.Addresses=r,this.type=4251960020}};t.IfcOwnerHistory=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.OwningUser=t,this.OwningApplication=e,this.State=s,this.ChangeAction=i,this.LastModifiedDate=r,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=o,this.type=1207048766}};t.IfcPerson=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Identification=t,this.FamilyName=e,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=r,this.SuffixTitles=n,this.Roles=a,this.Addresses=o,this.type=2077209135}};t.IfcPersonAndOrganization=class extends Gu{constructor(t,e,s){super(),this.ThePerson=t,this.TheOrganization=e,this.Roles=s,this.type=101040310}};class so extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2483315170}}t.IfcPhysicalQuantity=so;class io extends so{constructor(t,e,s){super(t,e),this.Name=t,this.Description=e,this.Unit=s,this.type=2226359599}}t.IfcPhysicalSimpleQuantity=io;t.IfcPostalAddress=class extends Ha{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=r,this.PostalBox=n,this.Town=a,this.Region=o,this.PostalCode=h,this.Country=c,this.type=3355820592}};class ro extends Gu{constructor(){super(),this.type=677532197}}t.IfcPresentationItem=ro;class no extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}t.IfcPresentationLayerAssignment=no;t.IfcPresentationLayerWithStyle=class extends no{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.LayerOn=r,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=o,this.type=1304840413}};class ao extends Gu{constructor(t){super(),this.Name=t,this.type=3119450353}}t.IfcPresentationStyle=ao;t.IfcPresentationStyleAssignment=class extends Gu{constructor(t){super(),this.Styles=t,this.type=2417041796}};class oo extends Gu{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Representations=s,this.type=2095639259}}t.IfcProductRepresentation=oo;class ho extends Gu{constructor(t,e){super(),this.ProfileType=t,this.ProfileName=e,this.type=3958567839}}t.IfcProfileDef=ho;t.IfcProjectedCRS=class extends Xa{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.Name=t,this.Description=e,this.GeodeticDatum=s,this.VerticalDatum=i,this.MapProjection=r,this.MapZone=n,this.MapUnit=a,this.type=3843373140}};class co extends Gu{constructor(){super(),this.type=986844984}}t.IfcPropertyAbstraction=co;t.IfcPropertyEnumeration=class extends co{constructor(t,e,s){super(),this.Name=t,this.EnumerationValues=e,this.Unit=s,this.type=3710013099}};t.IfcQuantityArea=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.AreaValue=i,this.Formula=r,this.type=2044713172}};t.IfcQuantityCount=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.CountValue=i,this.Formula=r,this.type=2093928680}};t.IfcQuantityLength=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.LengthValue=i,this.Formula=r,this.type=931644368}};t.IfcQuantityTime=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.TimeValue=i,this.Formula=r,this.type=3252649465}};t.IfcQuantityVolume=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.VolumeValue=i,this.Formula=r,this.type=2405470396}};t.IfcQuantityWeight=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.WeightValue=i,this.Formula=r,this.type=825690147}};t.IfcRecurrencePattern=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.RecurrenceType=t,this.DayComponent=e,this.WeekdayComponent=s,this.MonthComponent=i,this.Position=r,this.Interval=n,this.Occurrences=a,this.TimePeriods=o,this.type=3915482550}};t.IfcReference=class extends Gu{constructor(t,e,s,i,r){super(),this.TypeIdentifier=t,this.AttributeIdentifier=e,this.InstanceName=s,this.ListPositions=i,this.InnerReference=r,this.type=2433181523}};class lo extends Gu{constructor(t,e,s,i){super(),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1076942058}}t.IfcRepresentation=lo;class po extends Gu{constructor(t,e){super(),this.ContextIdentifier=t,this.ContextType=e,this.type=3377609919}}t.IfcRepresentationContext=po;class uo extends Gu{constructor(){super(),this.type=3008791417}}t.IfcRepresentationItem=uo;t.IfcRepresentationMap=class extends Gu{constructor(t,e){super(),this.MappingOrigin=t,this.MappedRepresentation=e,this.type=1660063152}};class Eo extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2439245199}}t.IfcResourceLevelRelationship=Eo;class Io extends Gu{constructor(t,e,s,i){super(),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2341007311}}t.IfcRoot=Io;t.IfcSIUnit=class extends to{constructor(t,e,s){super(new Uu(0),t),this.UnitType=t,this.Prefix=e,this.Name=s,this.type=448429030}};class yo extends Gu{constructor(t,e,s){super(),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.type=1054537805}}t.IfcSchedulingTime=yo;t.IfcShapeAspect=class extends Gu{constructor(t,e,s,i,r){super(),this.ShapeRepresentations=t,this.Name=e,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=r,this.type=867548509}};class To extends lo{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3982875396}}t.IfcShapeModel=To;t.IfcShapeRepresentation=class extends To{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class No extends Gu{constructor(t){super(),this.Name=t,this.type=2273995522}}t.IfcStructuralConnectionCondition=No;class Ro extends Gu{constructor(t){super(),this.Name=t,this.type=2162789131}}t.IfcStructuralLoad=Ro;t.IfcStructuralLoadConfiguration=class extends Ro{constructor(t,e,s){super(t),this.Name=t,this.Values=e,this.Locations=s,this.type=3478079324}};class fo extends Ro{constructor(t){super(t),this.Name=t,this.type=609421318}}t.IfcStructuralLoadOrResult=fo;class Oo extends fo{constructor(t){super(t),this.Name=t,this.type=2525727697}}t.IfcStructuralLoadStatic=Oo;t.IfcStructuralLoadTemperature=class extends Oo{constructor(t,e,s,i){super(t),this.Name=t,this.DeltaTConstant=e,this.DeltaTY=s,this.DeltaTZ=i,this.type=3408363356}};class Do extends lo{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=2830218821}}t.IfcStyleModel=Do;t.IfcStyledItem=class extends uo{constructor(t,e,s){super(),this.Item=t,this.Styles=e,this.Name=s,this.type=3958052878}};t.IfcStyledRepresentation=class extends Do{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3049322572}};t.IfcSurfaceReinforcementArea=class extends fo{constructor(t,e,s,i){super(t),this.Name=t,this.SurfaceReinforcement1=e,this.SurfaceReinforcement2=s,this.ShearReinforcement=i,this.type=2934153892}};t.IfcSurfaceStyle=class extends ao{constructor(t,e,s){super(t),this.Name=t,this.Side=e,this.Styles=s,this.type=1300840506}};t.IfcSurfaceStyleLighting=class extends ro{constructor(t,e,s,i){super(),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=e,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}};t.IfcSurfaceStyleRefraction=class extends ro{constructor(t,e){super(),this.RefractionIndex=t,this.DispersionFactor=e,this.type=1607154358}};class mo extends ro{constructor(t,e){super(),this.SurfaceColour=t,this.Transparency=e,this.type=846575682}}t.IfcSurfaceStyleShading=mo;t.IfcSurfaceStyleWithTextures=class extends ro{constructor(t){super(),this.Textures=t,this.type=1351298697}};class Ao extends ro{constructor(t,e,s,i,r){super(),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.type=626085974}}t.IfcSurfaceTexture=Ao;t.IfcTable=class extends Gu{constructor(t,e,s){super(),this.Name=t,this.Rows=e,this.Columns=s,this.type=985171141}};t.IfcTableColumn=class extends Gu{constructor(t,e,s,i,r){super(),this.Identifier=t,this.Name=e,this.Description=s,this.Unit=i,this.ReferencePath=r,this.type=2043862942}};t.IfcTableRow=class extends Gu{constructor(t,e){super(),this.RowCells=t,this.IsHeading=e,this.type=531007025}};class So extends yo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=o,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=l,this.FreeFloat=p,this.TotalFloat=u,this.IsCritical=E,this.StatusTime=I,this.ActualDuration=y,this.ActualStart=T,this.ActualFinish=d,this.RemainingTime=N,this.Completion=R,this.type=1549132990}}t.IfcTaskTime=So;t.IfcTaskTimeRecurring=class extends So{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f){super(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=o,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=l,this.FreeFloat=p,this.TotalFloat=u,this.IsCritical=E,this.StatusTime=I,this.ActualDuration=y,this.ActualStart=T,this.ActualFinish=d,this.RemainingTime=N,this.Completion=R,this.Recurrence=f,this.type=2771591690}};t.IfcTelecomAddress=class extends Ha{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=r,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=o,this.MessagingIDs=h,this.type=912023232}};t.IfcTextStyle=class extends ao{constructor(t,e,s,i,r){super(t),this.Name=t,this.TextCharacterAppearance=e,this.TextStyle=s,this.TextFontStyle=i,this.ModelOrDraughting=r,this.type=1447204868}};t.IfcTextStyleForDefinedFont=class extends ro{constructor(t,e){super(),this.Colour=t,this.BackgroundColour=e,this.type=2636378356}};t.IfcTextStyleTextModel=class extends ro{constructor(t,e,s,i,r,n,a){super(),this.TextIndent=t,this.TextAlign=e,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=r,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};class Co extends ro{constructor(t){super(),this.Maps=t,this.type=280115917}}t.IfcTextureCoordinate=Co;t.IfcTextureCoordinateGenerator=class extends Co{constructor(t,e,s){super(t),this.Maps=t,this.Mode=e,this.Parameter=s,this.type=1742049831}};t.IfcTextureMap=class extends Co{constructor(t,e,s){super(t),this.Maps=t,this.Vertices=e,this.MappedTo=s,this.type=2552916305}};t.IfcTextureVertex=class extends ro{constructor(t){super(),this.Coordinates=t,this.type=1210645708}};t.IfcTextureVertexList=class extends ro{constructor(t){super(),this.TexCoordsList=t,this.type=3611470254}};t.IfcTimePeriod=class extends Gu{constructor(t,e){super(),this.StartTime=t,this.EndTime=e,this.type=1199560280}};class vo extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.type=3101149627}}t.IfcTimeSeries=vo;t.IfcTimeSeriesValue=class extends Gu{constructor(t){super(),this.ListValues=t,this.type=581633288}};class Lo extends uo{constructor(){super(),this.type=1377556343}}t.IfcTopologicalRepresentationItem=Lo;t.IfcTopologyRepresentation=class extends To{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1735638870}};t.IfcUnitAssignment=class extends Gu{constructor(t){super(),this.Units=t,this.type=180925521}};class bo extends Lo{constructor(){super(),this.type=2799835756}}t.IfcVertex=bo;t.IfcVertexPoint=class extends bo{constructor(t){super(),this.VertexGeometry=t,this.type=1907098498}};t.IfcVirtualGridIntersection=class extends Gu{constructor(t,e){super(),this.IntersectingAxes=t,this.OffsetDistances=e,this.type=891718957}};t.IfcWorkTime=class extends yo{constructor(t,e,s,i,r,n){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.RecurrencePattern=i,this.Start=r,this.Finish=n,this.type=1236880293}};t.IfcApprovalRelationship=class extends Eo{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingApproval=s,this.RelatedApprovals=i,this.type=3869604511}};class Po extends ho{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.type=3798115385}}t.IfcArbitraryClosedProfileDef=Po;class go extends ho{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.type=1310608509}}t.IfcArbitraryOpenProfileDef=go;t.IfcArbitraryProfileDefWithVoids=class extends Po{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}};t.IfcBlobTexture=class extends Ao{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.RasterFormat=n,this.RasterCode=a,this.type=616511568}};t.IfcCenterLineProfileDef=class extends go{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.Thickness=i,this.type=3150382593}};t.IfcClassification=class extends Ka{constructor(t,e,s,i,r,n,a){super(),this.Source=t,this.Edition=e,this.EditionDate=s,this.Name=i,this.Description=r,this.Location=n,this.ReferenceTokens=a,this.type=747523909}};t.IfcClassificationReference=class extends Za{constructor(t,e,s,i,r,n){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.ReferencedSource=i,this.Description=r,this.Sort=n,this.type=647927063}};t.IfcColourRgbList=class extends ro{constructor(t){super(),this.ColourList=t,this.type=3285139300}};class xo extends ro{constructor(t){super(),this.Name=t,this.type=3264961684}}t.IfcColourSpecification=xo;t.IfcCompositeProfileDef=class extends ho{constructor(t,e,s,i){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Profiles=s,this.Label=i,this.type=1485152156}};class _o extends Lo{constructor(t){super(),this.CfsFaces=t,this.type=370225590}}t.IfcConnectedFaceSet=_o;t.IfcConnectionCurveGeometry=class extends ja{constructor(t,e){super(),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=e,this.type=1981873012}};t.IfcConnectionPointEccentricity=class extends Ya{constructor(t,e,s,i,r){super(t,e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=r,this.type=45288368}};t.IfcContextDependentUnit=class extends to{constructor(t,e,s){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.type=3050246964}};class Mo extends to{constructor(t,e,s,i){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.ConversionFactor=i,this.type=2889183280}}t.IfcConversionBasedUnit=Mo;t.IfcConversionBasedUnitWithOffset=class extends Mo{constructor(t,e,s,i,r){super(t,e,s,i),this.Dimensions=t,this.UnitType=e,this.Name=s,this.ConversionFactor=i,this.ConversionOffset=r,this.type=2713554722}};t.IfcCurrencyRelationship=class extends Eo{constructor(t,e,s,i,r,n,a){super(t,e),this.Name=t,this.Description=e,this.RelatingMonetaryUnit=s,this.RelatedMonetaryUnit=i,this.ExchangeRate=r,this.RateDateTime=n,this.RateSource=a,this.type=539742890}};t.IfcCurveStyle=class extends ao{constructor(t,e,s,i,r){super(t),this.Name=t,this.CurveFont=e,this.CurveWidth=s,this.CurveColour=i,this.ModelOrDraughting=r,this.type=3800577675}};t.IfcCurveStyleFont=class extends ro{constructor(t,e){super(),this.Name=t,this.PatternList=e,this.type=1105321065}};t.IfcCurveStyleFontAndScaling=class extends ro{constructor(t,e,s){super(),this.Name=t,this.CurveFont=e,this.CurveFontScaling=s,this.type=2367409068}};t.IfcCurveStyleFontPattern=class extends ro{constructor(t,e){super(),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=e,this.type=3510044353}};class Fo extends ho{constructor(t,e,s,i,r){super(t,e),this.ProfileType=t,this.ProfileName=e,this.ParentProfile=s,this.Operator=i,this.Label=r,this.type=3632507154}}t.IfcDerivedProfileDef=Fo;t.IfcDocumentInformation=class extends Ka{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(),this.Identification=t,this.Name=e,this.Description=s,this.Location=i,this.Purpose=r,this.IntendedUse=n,this.Scope=a,this.Revision=o,this.DocumentOwner=h,this.Editors=c,this.CreationTime=l,this.LastRevisionTime=p,this.ElectronicFormat=u,this.ValidFrom=E,this.ValidUntil=I,this.Confidentiality=y,this.Status=T,this.type=1154170062}};t.IfcDocumentInformationRelationship=class extends Eo{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.RelatingDocument=s,this.RelatedDocuments=i,this.RelationshipType=r,this.type=770865208}};t.IfcDocumentReference=class extends Za{constructor(t,e,s,i,r){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.Description=i,this.ReferencedDocument=r,this.type=3732053477}};class Uo extends Lo{constructor(t,e){super(),this.EdgeStart=t,this.EdgeEnd=e,this.type=3900360178}}t.IfcEdge=Uo;t.IfcEdgeCurve=class extends Uo{constructor(t,e,s,i){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}};t.IfcEventTime=class extends yo{constructor(t,e,s,i,r,n,a){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.ActualDate=i,this.EarlyDate=r,this.LateDate=n,this.ScheduleDate=a,this.type=211053100}};class wo extends co{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Properties=s,this.type=297599258}}t.IfcExtendedProperties=wo;t.IfcExternalReferenceRelationship=class extends Eo{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingReference=s,this.RelatedResourceObjects=i,this.type=1437805879}};class Go extends Lo{constructor(t){super(),this.Bounds=t,this.type=2556980723}}t.IfcFace=Go;class Ho extends Lo{constructor(t,e){super(),this.Bound=t,this.Orientation=e,this.type=1809719519}}t.IfcFaceBound=Ho;t.IfcFaceOuterBound=class extends Ho{constructor(t,e){super(t,e),this.Bound=t,this.Orientation=e,this.type=803316827}};class Bo extends Go{constructor(t,e,s){super(t),this.Bounds=t,this.FaceSurface=e,this.SameSense=s,this.type=3008276851}}t.IfcFaceSurface=Bo;t.IfcFailureConnectionCondition=class extends No{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TensionFailureX=e,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=r,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};t.IfcFillAreaStyle=class extends ao{constructor(t,e,s){super(t),this.Name=t,this.FillStyles=e,this.ModelorDraughting=s,this.type=738692330}};class Vo extends po{constructor(t,e,s,i,r,n){super(t,e),this.ContextIdentifier=t,this.ContextType=e,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=r,this.TrueNorth=n,this.type=3448662350}}t.IfcGeometricRepresentationContext=Vo;class Wo extends uo{constructor(){super(),this.type=2453401579}}t.IfcGeometricRepresentationItem=Wo;t.IfcGeometricRepresentationSubContext=class extends Vo{constructor(t,s,i,r,n,a){super(t,s,new e(0),null,new Uu(0),null),this.ContextIdentifier=t,this.ContextType=s,this.ParentContext=i,this.TargetScale=r,this.TargetView=n,this.UserDefinedTargetView=a,this.type=4142052618}};class jo extends Wo{constructor(t){super(),this.Elements=t,this.type=3590301190}}t.IfcGeometricSet=jo;t.IfcGridPlacement=class extends eo{constructor(t,e){super(),this.PlacementLocation=t,this.PlacementRefDirection=e,this.type=178086475}};class Yo extends Wo{constructor(t,e){super(),this.BaseSurface=t,this.AgreementFlag=e,this.type=812098782}}t.IfcHalfSpaceSolid=Yo;t.IfcImageTexture=class extends Ao{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.URLReference=n,this.type=3905492369}};t.IfcIndexedColourMap=class extends ro{constructor(t,e,s,i){super(),this.MappedTo=t,this.Opacity=e,this.Colours=s,this.ColourIndex=i,this.type=3570813810}};class zo extends Co{constructor(t,e,s){super(t),this.Maps=t,this.MappedTo=e,this.TexCoords=s,this.type=1437953363}}t.IfcIndexedTextureMap=zo;t.IfcIndexedTriangleTextureMap=class extends zo{constructor(t,e,s,i){super(t,e,s),this.Maps=t,this.MappedTo=e,this.TexCoords=s,this.TexCoordIndex=i,this.type=2133299955}};t.IfcIrregularTimeSeries=class extends vo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.Values=h,this.type=3741457305}};t.IfcLagTime=class extends yo{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.LagValue=i,this.DurationType=r,this.type=1585845231}};class ko extends Wo{constructor(t,e,s,i){super(),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}t.IfcLightSource=ko;t.IfcLightSourceAmbient=class extends ko{constructor(t,e,s,i){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}};t.IfcLightSourceDirectional=class extends ko{constructor(t,e,s,i,r){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=r,this.type=2604431987}};t.IfcLightSourceGoniometric=class extends ko{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=o,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class Xo extends ko{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.type=1520743889}}t.IfcLightSourcePositional=Xo;t.IfcLightSourceSpot=class extends Xo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=l,this.SpreadAngle=p,this.BeamWidthAngle=u,this.type=3422422726}};t.IfcLocalPlacement=class extends eo{constructor(t,e){super(),this.PlacementRelTo=t,this.RelativePlacement=e,this.type=2624227202}};class Ko extends Lo{constructor(){super(),this.type=1008929658}}t.IfcLoop=Ko;t.IfcMappedItem=class extends uo{constructor(t,e){super(),this.MappingSource=t,this.MappingTarget=e,this.type=2347385850}};t.IfcMaterial=class extends qa{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Category=s,this.type=1838606355}};t.IfcMaterialConstituent=class extends qa{constructor(t,e,s,i,r){super(),this.Name=t,this.Description=e,this.Material=s,this.Fraction=i,this.Category=r,this.type=3708119e3}};t.IfcMaterialConstituentSet=class extends qa{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.MaterialConstituents=s,this.type=2852063980}};t.IfcMaterialDefinitionRepresentation=class extends oo{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}};t.IfcMaterialLayerSetUsage=class extends $a{constructor(t,e,s,i,r){super(),this.ForLayerSet=t,this.LayerSetDirection=e,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.ReferenceExtent=r,this.type=1303795690}};class Zo extends $a{constructor(t,e,s){super(),this.ForProfileSet=t,this.CardinalPoint=e,this.ReferenceExtent=s,this.type=3079605661}}t.IfcMaterialProfileSetUsage=Zo;t.IfcMaterialProfileSetUsageTapering=class extends Zo{constructor(t,e,s,i,r){super(t,e,s),this.ForProfileSet=t,this.CardinalPoint=e,this.ReferenceExtent=s,this.ForProfileEndSet=i,this.CardinalEndPoint=r,this.type=3404854881}};t.IfcMaterialProperties=class extends wo{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Properties=s,this.Material=i,this.type=3265635763}};t.IfcMaterialRelationship=class extends Eo{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.RelatingMaterial=s,this.RelatedMaterials=i,this.Expression=r,this.type=853536259}};t.IfcMirroredProfileDef=class extends Fo{constructor(t,e,s,i){super(t,e,s,new Uu(0),i),this.ProfileType=t,this.ProfileName=e,this.ParentProfile=s,this.Label=i,this.type=2998442950}};class qo extends Io{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=219451334}}t.IfcObjectDefinition=qo;t.IfcOpenShell=class extends _o{constructor(t){super(t),this.CfsFaces=t,this.type=2665983363}};t.IfcOrganizationRelationship=class extends Eo{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}};t.IfcOrientedEdge=class extends Uo{constructor(t,e){super(new Uu(0),new Uu(0)),this.EdgeElement=t,this.Orientation=e,this.type=1029017970}};class Qo extends ho{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.type=2529465313}}t.IfcParameterizedProfileDef=Qo;t.IfcPath=class extends Lo{constructor(t){super(),this.EdgeList=t,this.type=2519244187}};t.IfcPhysicalComplexQuantity=class extends so{constructor(t,e,s,i,r,n){super(t,e),this.Name=t,this.Description=e,this.HasQuantities=s,this.Discrimination=i,this.Quality=r,this.Usage=n,this.type=3021840470}};t.IfcPixelTexture=class extends Ao{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.Width=n,this.Height=a,this.ColourComponents=o,this.Pixel=h,this.type=597895409}};class Jo extends Wo{constructor(t){super(),this.Location=t,this.type=2004835150}}t.IfcPlacement=Jo;class $o extends Wo{constructor(t,e){super(),this.SizeInX=t,this.SizeInY=e,this.type=1663979128}}t.IfcPlanarExtent=$o;class th extends Wo{constructor(){super(),this.type=2067069095}}t.IfcPoint=th;t.IfcPointOnCurve=class extends th{constructor(t,e){super(),this.BasisCurve=t,this.PointParameter=e,this.type=4022376103}};t.IfcPointOnSurface=class extends th{constructor(t,e,s){super(),this.BasisSurface=t,this.PointParameterU=e,this.PointParameterV=s,this.type=1423911732}};t.IfcPolyLoop=class extends Ko{constructor(t){super(),this.Polygon=t,this.type=2924175390}};t.IfcPolygonalBoundedHalfSpace=class extends Yo{constructor(t,e,s,i){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class eh extends ro{constructor(t){super(),this.Name=t,this.type=3727388367}}t.IfcPreDefinedItem=eh;class sh extends co{constructor(){super(),this.type=3778827333}}t.IfcPreDefinedProperties=sh;class ih extends eh{constructor(t){super(t),this.Name=t,this.type=1775413392}}t.IfcPreDefinedTextFont=ih;t.IfcProductDefinitionShape=class extends oo{constructor(t,e,s){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.type=673634403}};t.IfcProfileProperties=class extends wo{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Properties=s,this.ProfileDefinition=i,this.type=2802850158}};class rh extends co{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2598011224}}t.IfcProperty=rh;class nh extends Io{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=1680319473}}t.IfcPropertyDefinition=nh;t.IfcPropertyDependencyRelationship=class extends Eo{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.DependingProperty=s,this.DependantProperty=i,this.Expression=r,this.type=148025276}};class ah extends nh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3357820518}}t.IfcPropertySetDefinition=ah;class oh extends nh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=1482703590}}t.IfcPropertyTemplateDefinition=oh;class hh extends ah{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2090586900}}t.IfcQuantitySet=hh;class ch extends Qo{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.type=3615266464}}t.IfcRectangleProfileDef=ch;t.IfcRegularTimeSeries=class extends vo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.TimeStep=h,this.Values=c,this.type=3413951693}};t.IfcReinforcementBarProperties=class extends sh{constructor(t,e,s,i,r,n){super(),this.TotalCrossSectionArea=t,this.SteelGrade=e,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=r,this.BarCount=n,this.type=1580146022}};class lh extends Io{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=478536968}}t.IfcRelationship=lh;t.IfcResourceApprovalRelationship=class extends Eo{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatedResourceObjects=s,this.RelatingApproval=i,this.type=2943643501}};t.IfcResourceConstraintRelationship=class extends Eo{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingConstraint=s,this.RelatedResourceObjects=i,this.type=1608871552}};t.IfcResourceTime=class extends yo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.ScheduleWork=i,this.ScheduleUsage=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.ScheduleContour=o,this.LevelingDelay=h,this.IsOverAllocated=c,this.StatusTime=l,this.ActualWork=p,this.ActualUsage=u,this.ActualStart=E,this.ActualFinish=I,this.RemainingWork=y,this.RemainingUsage=T,this.Completion=d,this.type=1042787934}};t.IfcRoundedRectangleProfileDef=class extends ch{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.RoundingRadius=n,this.type=2778083089}};t.IfcSectionProperties=class extends sh{constructor(t,e,s){super(),this.SectionType=t,this.StartProfile=e,this.EndProfile=s,this.type=2042790032}};t.IfcSectionReinforcementProperties=class extends sh{constructor(t,e,s,i,r,n){super(),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=e,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=r,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};t.IfcSectionedSpine=class extends Wo{constructor(t,e,s){super(),this.SpineCurve=t,this.CrossSections=e,this.CrossSectionPositions=s,this.type=1509187699}};t.IfcShellBasedSurfaceModel=class extends Wo{constructor(t){super(),this.SbsmBoundary=t,this.type=4124623270}};class ph extends rh{constructor(t,e){super(t,e),this.Name=t,this.Description=e,this.type=3692461612}}t.IfcSimpleProperty=ph;t.IfcSlippageConnectionCondition=class extends No{constructor(t,e,s,i){super(t),this.Name=t,this.SlippageX=e,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class uh extends Wo{constructor(){super(),this.type=723233188}}t.IfcSolidModel=uh;t.IfcStructuralLoadLinearForce=class extends Oo{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.LinearForceX=e,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=r,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};t.IfcStructuralLoadPlanarForce=class extends Oo{constructor(t,e,s,i){super(t),this.Name=t,this.PlanarForceX=e,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class Eh extends Oo{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}t.IfcStructuralLoadSingleDisplacement=Eh;t.IfcStructuralLoadSingleDisplacementDistortion=class extends Eh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=o,this.type=1973038258}};class Ih extends Oo{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}t.IfcStructuralLoadSingleForce=Ih;t.IfcStructuralLoadSingleForceWarping=class extends Ih{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=o,this.type=1190533807}};t.IfcSubedge=class extends Uo{constructor(t,e,s){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.ParentEdge=s,this.type=2233826070}};class yh extends Wo{constructor(){super(),this.type=2513912981}}t.IfcSurface=yh;t.IfcSurfaceStyleRendering=class extends mo{constructor(t,e,s,i,r,n,a,o,h){super(t,e),this.SurfaceColour=t,this.Transparency=e,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=r,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=o,this.ReflectanceMethod=h,this.type=1878645084}};class Th extends uh{constructor(t,e){super(),this.SweptArea=t,this.Position=e,this.type=2247615214}}t.IfcSweptAreaSolid=Th;class dh extends uh{constructor(t,e,s,i,r){super(),this.Directrix=t,this.Radius=e,this.InnerRadius=s,this.StartParam=i,this.EndParam=r,this.type=1260650574}}t.IfcSweptDiskSolid=dh;t.IfcSweptDiskSolidPolygonal=class extends dh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.Directrix=t,this.Radius=e,this.InnerRadius=s,this.StartParam=i,this.EndParam=r,this.FilletRadius=n,this.type=1096409881}};class Nh extends yh{constructor(t,e){super(),this.SweptCurve=t,this.Position=e,this.type=230924584}}t.IfcSweptSurface=Nh;t.IfcTShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=l,this.FlangeSlope=p,this.type=3071757647}};class Rh extends Wo{constructor(){super(),this.type=901063453}}t.IfcTessellatedItem=Rh;class fh extends Wo{constructor(t,e,s){super(),this.Literal=t,this.Placement=e,this.Path=s,this.type=4282788508}}t.IfcTextLiteral=fh;t.IfcTextLiteralWithExtent=class extends fh{constructor(t,e,s,i,r){super(t,e,s),this.Literal=t,this.Placement=e,this.Path=s,this.Extent=i,this.BoxAlignment=r,this.type=3124975700}};t.IfcTextStyleFontModel=class extends ih{constructor(t,e,s,i,r,n){super(t),this.Name=t,this.FontFamily=e,this.FontStyle=s,this.FontVariant=i,this.FontWeight=r,this.FontSize=n,this.type=1983826977}};t.IfcTrapeziumProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.BottomXDim=i,this.TopXDim=r,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};class Oh extends qo{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.type=1628702193}}t.IfcTypeObject=Oh;class Dh extends Oh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.type=3736923433}}t.IfcTypeProcess=Dh;class mh extends Oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.type=2347495698}}t.IfcTypeProduct=mh;class Ah extends Oh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.type=3698973494}}t.IfcTypeResource=Ah;t.IfcUShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.FlangeSlope=c,this.type=427810014}};t.IfcVector=class extends Wo{constructor(t,e){super(),this.Orientation=t,this.Magnitude=e,this.type=1417489154}};t.IfcVertexLoop=class extends Ko{constructor(t){super(),this.LoopVertex=t,this.type=2759199220}};t.IfcWindowStyle=class extends mh{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ConstructionType=h,this.OperationType=c,this.ParameterTakesPrecedence=l,this.Sizeable=p,this.type=1299126871}};t.IfcZShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.type=2543172580}};t.IfcAdvancedFace=class extends Bo{constructor(t,e,s){super(t,e,s),this.Bounds=t,this.FaceSurface=e,this.SameSense=s,this.type=3406155212}};t.IfcAnnotationFillArea=class extends Wo{constructor(t,e){super(),this.OuterBoundary=t,this.InnerBoundaries=e,this.type=669184980}};t.IfcAsymmetricIShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.BottomFlangeWidth=i,this.OverallDepth=r,this.WebThickness=n,this.BottomFlangeThickness=a,this.BottomFlangeFilletRadius=o,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=l,this.BottomFlangeEdgeRadius=p,this.BottomFlangeSlope=u,this.TopFlangeEdgeRadius=E,this.TopFlangeSlope=I,this.type=3207858831}};t.IfcAxis1Placement=class extends Jo{constructor(t,e){super(t),this.Location=t,this.Axis=e,this.type=4261334040}};t.IfcAxis2Placement2D=class extends Jo{constructor(t,e){super(t),this.Location=t,this.RefDirection=e,this.type=3125803723}};t.IfcAxis2Placement3D=class extends Jo{constructor(t,e,s){super(t),this.Location=t,this.Axis=e,this.RefDirection=s,this.type=2740243338}};class Sh extends Wo{constructor(t,e,s){super(),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=2736907675}}t.IfcBooleanResult=Sh;class Ch extends yh{constructor(){super(),this.type=4182860854}}t.IfcBoundedSurface=Ch;t.IfcBoundingBox=class extends Wo{constructor(t,e,s,i){super(),this.Corner=t,this.XDim=e,this.YDim=s,this.ZDim=i,this.type=2581212453}};t.IfcBoxedHalfSpace=class extends Yo{constructor(t,e,s){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Enclosure=s,this.type=2713105998}};t.IfcCShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=o,this.type=2898889636}};t.IfcCartesianPoint=class extends th{constructor(t){super(),this.Coordinates=t,this.type=1123145078}};class vh extends Wo{constructor(){super(),this.type=574549367}}t.IfcCartesianPointList=vh;t.IfcCartesianPointList2D=class extends vh{constructor(t){super(),this.CoordList=t,this.type=1675464909}};t.IfcCartesianPointList3D=class extends vh{constructor(t){super(),this.CoordList=t,this.type=2059837836}};class Lh extends Wo{constructor(t,e,s,i){super(),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}t.IfcCartesianTransformationOperator=Lh;class bh extends Lh{constructor(t,e,s,i){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}t.IfcCartesianTransformationOperator2D=bh;t.IfcCartesianTransformationOperator2DnonUniform=class extends bh{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Scale2=r,this.type=3486308946}};class Ph extends Lh{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.type=3331915920}}t.IfcCartesianTransformationOperator3D=Ph;t.IfcCartesianTransformationOperator3DnonUniform=class extends Ph{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class gh extends Qo{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.type=1383045692}}t.IfcCircleProfileDef=gh;t.IfcClosedShell=class extends _o{constructor(t){super(t),this.CfsFaces=t,this.type=2205249479}};t.IfcColourRgb=class extends xo{constructor(t,e,s,i){super(t),this.Name=t,this.Red=e,this.Green=s,this.Blue=i,this.type=776857604}};t.IfcComplexProperty=class extends rh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.UsageName=s,this.HasProperties=i,this.type=2542286263}};class xh extends Wo{constructor(t,e,s){super(),this.Transition=t,this.SameSense=e,this.ParentCurve=s,this.type=2485617015}}t.IfcCompositeCurveSegment=xh;class _h extends Ah{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.type=2574617495}}t.IfcConstructionResourceType=_h;class Mh extends qo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=3419103109}}t.IfcContext=Mh;t.IfcCrewResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=1815067380}};class Fh extends Wo{constructor(t){super(),this.Position=t,this.type=2506170314}}t.IfcCsgPrimitive3D=Fh;t.IfcCsgSolid=class extends uh{constructor(t){super(),this.TreeRootExpression=t,this.type=2147822146}};class Uh extends Wo{constructor(){super(),this.type=2601014836}}t.IfcCurve=Uh;t.IfcCurveBoundedPlane=class extends Ch{constructor(t,e,s){super(),this.BasisSurface=t,this.OuterBoundary=e,this.InnerBoundaries=s,this.type=2827736869}};t.IfcCurveBoundedSurface=class extends Ch{constructor(t,e,s){super(),this.BasisSurface=t,this.Boundaries=e,this.ImplicitOuter=s,this.type=2629017746}};t.IfcDirection=class extends Wo{constructor(t){super(),this.DirectionRatios=t,this.type=32440307}};t.IfcDoorStyle=class extends mh{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.OperationType=h,this.ConstructionType=c,this.ParameterTakesPrecedence=l,this.Sizeable=p,this.type=526551008}};t.IfcEdgeLoop=class extends Ko{constructor(t){super(),this.EdgeList=t,this.type=1472233963}};t.IfcElementQuantity=class extends hh{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.MethodOfMeasurement=r,this.Quantities=n,this.type=1883228015}};class wh extends mh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=339256511}}t.IfcElementType=wh;class Gh extends yh{constructor(t){super(),this.Position=t,this.type=2777663545}}t.IfcElementarySurface=Gh;t.IfcEllipseProfileDef=class extends Qo{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=r,this.type=2835456948}};t.IfcEventType=class extends Dh{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.EventTriggerType=l,this.UserDefinedEventTriggerType=p,this.type=4024345920}};class Hh extends Th{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}}t.IfcExtrudedAreaSolid=Hh;t.IfcExtrudedAreaSolidTapered=class extends Hh{constructor(t,e,s,i,r){super(t,e,s,i),this.SweptArea=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.EndSweptArea=r,this.type=2804161546}};t.IfcFaceBasedSurfaceModel=class extends Wo{constructor(t){super(),this.FbsmFaces=t,this.type=2047409740}};t.IfcFillAreaStyleHatching=class extends Wo{constructor(t,e,s,i,r){super(),this.HatchLineAppearance=t,this.StartOfNextHatchLine=e,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=r,this.type=374418227}};t.IfcFillAreaStyleTiles=class extends Wo{constructor(t,e,s){super(),this.TilingPattern=t,this.Tiles=e,this.TilingScale=s,this.type=315944413}};t.IfcFixedReferenceSweptAreaSolid=class extends Th{constructor(t,e,s,i,r,n){super(t,e),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.FixedReference=n,this.type=2652556860}};class Bh extends wh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=4238390223}}t.IfcFurnishingElementType=Bh;t.IfcFurnitureType=class extends Bh{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.AssemblyPlace=c,this.PredefinedType=l,this.type=1268542332}};t.IfcGeographicElementType=class extends wh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4095422895}};t.IfcGeometricCurveSet=class extends jo{constructor(t){super(t),this.Elements=t,this.type=987898635}};t.IfcIShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallWidth=i,this.OverallDepth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.FlangeEdgeRadius=h,this.FlangeSlope=c,this.type=1484403080}};class Vh extends Rh{constructor(t){super(),this.CoordIndex=t,this.type=178912537}}t.IfcIndexedPolygonalFace=Vh;t.IfcIndexedPolygonalFaceWithVoids=class extends Vh{constructor(t,e){super(t),this.CoordIndex=t,this.InnerCoordIndices=e,this.type=2294589976}};t.IfcLShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=o,this.LegSlope=h,this.type=572779678}};t.IfcLaborResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=428585644}};t.IfcLine=class extends Uh{constructor(t,e){super(),this.Pnt=t,this.Dir=e,this.type=1281925730}};class Wh extends uh{constructor(t){super(),this.Outer=t,this.type=1425443689}}t.IfcManifoldSolidBrep=Wh;class jh extends qo{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3888040117}}t.IfcObject=jh;t.IfcOffsetCurve2D=class extends Uh{constructor(t,e,s){super(),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.type=3388369263}};t.IfcOffsetCurve3D=class extends Uh{constructor(t,e,s,i){super(),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}};t.IfcPcurve=class extends Uh{constructor(t,e){super(),this.BasisSurface=t,this.ReferenceCurve=e,this.type=1682466193}};t.IfcPlanarBox=class extends $o{constructor(t,e,s){super(t,e),this.SizeInX=t,this.SizeInY=e,this.Placement=s,this.type=603570806}};t.IfcPlane=class extends Gh{constructor(t){super(t),this.Position=t,this.type=220341763}};class Yh extends eh{constructor(t){super(t),this.Name=t,this.type=759155922}}t.IfcPreDefinedColour=Yh;class zh extends eh{constructor(t){super(t),this.Name=t,this.type=2559016684}}t.IfcPreDefinedCurveFont=zh;class kh extends ah{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3967405729}}t.IfcPreDefinedPropertySet=kh;t.IfcProcedureType=class extends Dh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.type=569719735}};class Xh extends jh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.type=2945172077}}t.IfcProcess=Xh;class Kh extends jh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}t.IfcProduct=Kh;t.IfcProject=class extends Mh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=103090709}};t.IfcProjectLibrary=class extends Mh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=653396225}};t.IfcPropertyBoundedValue=class extends ph{constructor(t,e,s,i,r,n){super(t,e),this.Name=t,this.Description=e,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=r,this.SetPointValue=n,this.type=871118103}};t.IfcPropertyEnumeratedValue=class extends ph{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}};t.IfcPropertyListValue=class extends ph{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.ListValues=s,this.Unit=i,this.type=2752243245}};t.IfcPropertyReferenceValue=class extends ph{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.UsageName=s,this.PropertyReference=i,this.type=941946838}};t.IfcPropertySet=class extends ah{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.HasProperties=r,this.type=1451395588}};t.IfcPropertySetTemplate=class extends oh{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.TemplateType=r,this.ApplicableEntity=n,this.HasPropertyTemplates=a,this.type=492091185}};t.IfcPropertySingleValue=class extends ph{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.NominalValue=s,this.Unit=i,this.type=3650150729}};t.IfcPropertyTableValue=class extends ph{constructor(t,e,s,i,r,n,a,o){super(t,e),this.Name=t,this.Description=e,this.DefiningValues=s,this.DefinedValues=i,this.Expression=r,this.DefiningUnit=n,this.DefinedUnit=a,this.CurveInterpolation=o,this.type=110355661}};class Zh extends oh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3521284610}}t.IfcPropertyTemplate=Zh;t.IfcProxy=class extends Kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.ProxyType=o,this.Tag=h,this.type=3219374653}};t.IfcRectangleHollowProfileDef=class extends ch{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=o,this.type=2770003689}};t.IfcRectangularPyramid=class extends Fh{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.Height=i,this.type=2798486643}};t.IfcRectangularTrimmedSurface=class extends Ch{constructor(t,e,s,i,r,n,a){super(),this.BasisSurface=t,this.U1=e,this.V1=s,this.U2=i,this.V2=r,this.Usense=n,this.Vsense=a,this.type=3454111270}};t.IfcReinforcementDefinitionProperties=class extends kh{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.DefinitionType=r,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class qh extends lh{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.type=3939117080}}t.IfcRelAssigns=qh;t.IfcRelAssignsToActor=class extends qh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=o,this.type=1683148259}};t.IfcRelAssignsToControl=class extends qh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}};class Qh extends qh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}}t.IfcRelAssignsToGroup=Qh;t.IfcRelAssignsToGroupByFactor=class extends Qh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingGroup=a,this.Factor=o,this.type=1027710054}};t.IfcRelAssignsToProcess=class extends qh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=o,this.type=4278684876}};t.IfcRelAssignsToProduct=class extends qh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};t.IfcRelAssignsToResource=class extends qh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class Jh extends lh{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.type=1865459582}}t.IfcRelAssociates=Jh;t.IfcRelAssociatesApproval=class extends Jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingApproval=n,this.type=4095574036}};t.IfcRelAssociatesClassification=class extends Jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingClassification=n,this.type=919958153}};t.IfcRelAssociatesConstraint=class extends Jh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};t.IfcRelAssociatesDocument=class extends Jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingDocument=n,this.type=982818633}};t.IfcRelAssociatesLibrary=class extends Jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingLibrary=n,this.type=3840914261}};t.IfcRelAssociatesMaterial=class extends Jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingMaterial=n,this.type=2655215786}};class $h extends lh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=826625072}}t.IfcRelConnects=$h;class tc extends $h{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}t.IfcRelConnectsElements=tc;t.IfcRelConnectsPathElements=class extends tc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=o,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=l,this.type=3945020480}};t.IfcRelConnectsPortToElement=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedElement=n,this.type=4201705270}};t.IfcRelConnectsPorts=class extends $h{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};t.IfcRelConnectsStructuralActivity=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedStructuralActivity=n,this.type=2127690289}};class ec extends $h{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}t.IfcRelConnectsStructuralMember=ec;t.IfcRelConnectsWithEccentricity=class extends ec{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=l,this.type=504942748}};t.IfcRelConnectsWithRealizingElements=class extends tc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=o,this.ConnectionType=h,this.type=3678494232}};t.IfcRelContainedInSpatialStructure=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=3242617779}};t.IfcRelCoversBldgElements=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedCoverings=n,this.type=886880790}};t.IfcRelCoversSpaces=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedCoverings=n,this.type=2802773753}};t.IfcRelDeclares=class extends lh{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingContext=r,this.RelatedDefinitions=n,this.type=2565941209}};class sc extends lh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2551354335}}t.IfcRelDecomposes=sc;class ic extends lh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=693640335}}t.IfcRelDefines=ic;t.IfcRelDefinesByObject=class extends ic{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingObject=n,this.type=1462361463}};t.IfcRelDefinesByProperties=class extends ic{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingPropertyDefinition=n,this.type=4186316022}};t.IfcRelDefinesByTemplate=class extends ic{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedPropertySets=r,this.RelatingTemplate=n,this.type=307848117}};t.IfcRelDefinesByType=class extends ic{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingType=n,this.type=781010003}};t.IfcRelFillsElement=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingOpeningElement=r,this.RelatedBuildingElement=n,this.type=3940055652}};t.IfcRelFlowControlElements=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedControlElements=r,this.RelatingFlowElement=n,this.type=279856033}};t.IfcRelInterferesElements=class extends $h{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedElement=n,this.InterferenceGeometry=a,this.InterferenceType=o,this.ImpliedOrder=h,this.type=427948657}};t.IfcRelNests=class extends sc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=3268803585}};t.IfcRelProjectsElement=class extends sc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedFeatureElement=n,this.type=750771296}};t.IfcRelReferencedInSpatialStructure=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=1245217292}};t.IfcRelSequence=class extends $h{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingProcess=r,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=o,this.UserDefinedSequenceType=h,this.type=4122056220}};t.IfcRelServicesBuildings=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSystem=r,this.RelatedBuildings=n,this.type=366585022}};class rc extends $h{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.type=3451746338}}t.IfcRelSpaceBoundary=rc;class nc extends rc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.type=3523091289}}t.IfcRelSpaceBoundary1stLevel=nc;t.IfcRelSpaceBoundary2ndLevel=class extends nc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.CorrespondingBoundary=l,this.type=1521410863}};t.IfcRelVoidsElement=class extends sc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedOpeningElement=n,this.type=1401173127}};t.IfcReparametrisedCompositeCurveSegment=class extends xh{constructor(t,e,s,i){super(t,e,s),this.Transition=t,this.SameSense=e,this.ParentCurve=s,this.ParamLength=i,this.type=816062949}};class ac extends jh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.type=2914609552}}t.IfcResource=ac;class oc extends Th{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.Axis=s,this.Angle=i,this.type=1856042241}}t.IfcRevolvedAreaSolid=oc;t.IfcRevolvedAreaSolidTapered=class extends oc{constructor(t,e,s,i,r){super(t,e,s,i),this.SweptArea=t,this.Position=e,this.Axis=s,this.Angle=i,this.EndSweptArea=r,this.type=3243963512}};t.IfcRightCircularCone=class extends Fh{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.BottomRadius=s,this.type=4158566097}};t.IfcRightCircularCylinder=class extends Fh{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.Radius=s,this.type=3626867408}};t.IfcSimplePropertyTemplate=class extends Zh{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.TemplateType=r,this.PrimaryMeasureType=n,this.SecondaryMeasureType=a,this.Enumerators=o,this.PrimaryUnit=h,this.SecondaryUnit=c,this.Expression=l,this.AccessState=p,this.type=3663146110}};class hc extends Kh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.type=1412071761}}t.IfcSpatialElement=hc;class cc extends mh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=710998568}}t.IfcSpatialElementType=cc;class lc extends hc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.type=2706606064}}t.IfcSpatialStructureElement=lc;class pc extends cc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3893378262}}t.IfcSpatialStructureElementType=pc;t.IfcSpatialZone=class extends hc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.PredefinedType=h,this.type=463610769}};t.IfcSpatialZoneType=class extends cc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.LongName=l,this.type=2481509218}};t.IfcSphere=class extends Fh{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=451544542}};t.IfcSphericalSurface=class extends Gh{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=4015995234}};class uc extends Kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3544373492}}t.IfcStructuralActivity=uc;class Ec extends Kh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}t.IfcStructuralItem=Ec;class Ic extends Ec{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}t.IfcStructuralMember=Ic;class yc extends uc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3689010777}}t.IfcStructuralReaction=yc;class Tc extends Ic{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.type=3979015343}}t.IfcStructuralSurfaceMember=Tc;t.IfcStructuralSurfaceMemberVarying=class extends Tc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.type=2218152070}};t.IfcStructuralSurfaceReaction=class extends yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=603775116}};t.IfcSubContractResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=4095615324}};class dc extends Uh{constructor(t,e,s){super(),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=699246055}}t.IfcSurfaceCurve=dc;t.IfcSurfaceCurveSweptAreaSolid=class extends Th{constructor(t,e,s,i,r,n){super(t,e),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.ReferenceSurface=n,this.type=2028607225}};t.IfcSurfaceOfLinearExtrusion=class extends Nh{constructor(t,e,s,i){super(t,e),this.SweptCurve=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}};t.IfcSurfaceOfRevolution=class extends Nh{constructor(t,e,s){super(t,e),this.SweptCurve=t,this.Position=e,this.AxisPosition=s,this.type=4124788165}};t.IfcSystemFurnitureElementType=class extends Bh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1580310250}};t.IfcTask=class extends Xh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Status=o,this.WorkMethod=h,this.IsMilestone=c,this.Priority=l,this.TaskTime=p,this.PredefinedType=u,this.type=3473067441}};t.IfcTaskType=class extends Dh{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.WorkMethod=l,this.type=3206491090}};class Nc extends Rh{constructor(t){super(),this.Coordinates=t,this.type=2387106220}}t.IfcTessellatedFaceSet=Nc;t.IfcToroidalSurface=class extends Gh{constructor(t,e,s){super(t),this.Position=t,this.MajorRadius=e,this.MinorRadius=s,this.type=1935646853}};t.IfcTransportElementType=class extends wh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};t.IfcTriangulatedFaceSet=class extends Nc{constructor(t,e,s,i,r){super(t),this.Coordinates=t,this.Normals=e,this.Closed=s,this.CoordIndex=i,this.PnIndex=r,this.type=2916149573}};t.IfcWindowLiningProperties=class extends kh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=o,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=l,this.SecondMullionOffset=p,this.ShapeAspectStyle=u,this.LiningOffset=E,this.LiningToPanelOffsetX=I,this.LiningToPanelOffsetY=y,this.type=336235671}};t.IfcWindowPanelProperties=class extends kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=512836454}};class Rc extends jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.type=2296667514}}t.IfcActor=Rc;class fc extends Wh{constructor(t){super(t),this.Outer=t,this.type=1635779807}}t.IfcAdvancedBrep=fc;t.IfcAdvancedBrepWithVoids=class extends fc{constructor(t,e){super(t),this.Outer=t,this.Voids=e,this.type=2603310189}};t.IfcAnnotation=class extends Kh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1674181508}};class Oc extends Ch{constructor(t,e,s,i,r,n,a){super(),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.type=2887950389}}t.IfcBSplineSurface=Oc;class Dc extends Oc{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=o,this.VMultiplicities=h,this.UKnots=c,this.VKnots=l,this.KnotSpec=p,this.type=167062518}}t.IfcBSplineSurfaceWithKnots=Dc;t.IfcBlock=class extends Fh{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.ZLength=i,this.type=1334484129}};t.IfcBooleanClippingResult=class extends Sh{constructor(t,e,s){super(t,e,s),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=3649129432}};class mc extends Uh{constructor(){super(),this.type=1260505505}}t.IfcBoundedCurve=mc;t.IfcBuilding=class extends lc{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=l,this.BuildingAddress=p,this.type=4031249490}};class Ac extends wh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1950629157}}t.IfcBuildingElementType=Ac;t.IfcBuildingStorey=class extends lc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};t.IfcChimneyType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2197970202}};t.IfcCircleHollowProfileDef=class extends gh{constructor(t,e,s,i,r){super(t,e,s,i),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.WallThickness=r,this.type=2937912522}};t.IfcCivilElementType=class extends wh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3893394355}};t.IfcColumnType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};t.IfcComplexPropertyTemplate=class extends Zh{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.UsageName=r,this.TemplateType=n,this.HasPropertyTemplates=a,this.type=3875453745}};class Sc extends mc{constructor(t,e){super(),this.Segments=t,this.SelfIntersect=e,this.type=3732776249}}t.IfcCompositeCurve=Sc;class Cc extends Sc{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=15328376}}t.IfcCompositeCurveOnSurface=Cc;class vc extends Uh{constructor(t){super(),this.Position=t,this.type=2510884976}}t.IfcConic=vc;t.IfcConstructionEquipmentResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=2185764099}};t.IfcConstructionMaterialResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=4105962743}};t.IfcConstructionProductResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=1525564444}};class Lc extends ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.type=2559216714}}t.IfcConstructionResource=Lc;class bc extends jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.type=3293443760}}t.IfcControl=bc;t.IfcCostItem=class extends bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.CostValues=o,this.CostQuantities=h,this.type=3895139033}};t.IfcCostSchedule=class extends bc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.SubmittedOn=h,this.UpdateDate=c,this.type=1419761937}};t.IfcCoveringType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};t.IfcCrewResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3295246426}};t.IfcCurtainWallType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};t.IfcCylindricalSurface=class extends Gh{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=1213902940}};class Pc extends wh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3256556792}}t.IfcDistributionElementType=Pc;class gc extends Pc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3849074793}}t.IfcDistributionFlowElementType=gc;t.IfcDoorLiningProperties=class extends kh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=o,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=l,this.ThresholdOffset=p,this.CasingThickness=u,this.CasingDepth=E,this.ShapeAspectStyle=I,this.LiningToPanelOffsetX=y,this.LiningToPanelOffsetY=T,this.type=2963535650}};t.IfcDoorPanelProperties=class extends kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.PanelDepth=r,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=o,this.ShapeAspectStyle=h,this.type=1714330368}};t.IfcDoorType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.OperationType=l,this.ParameterTakesPrecedence=p,this.UserDefinedOperationType=u,this.type=2323601079}};t.IfcDraughtingPreDefinedColour=class extends Yh{constructor(t){super(t),this.Name=t,this.type=445594917}};t.IfcDraughtingPreDefinedCurveFont=class extends zh{constructor(t){super(t),this.Name=t,this.type=4006246654}};class xc extends Kh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1758889154}}t.IfcElement=xc;t.IfcElementAssembly=class extends xc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};t.IfcElementAssemblyType=class extends wh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2397081782}};class _c extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1623761950}}t.IfcElementComponent=_c;class Mc extends wh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2590856083}}t.IfcElementComponentType=Mc;t.IfcEllipse=class extends vc{constructor(t,e,s){super(t),this.Position=t,this.SemiAxis1=e,this.SemiAxis2=s,this.type=1704287377}};class Fc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2107101300}}t.IfcEnergyConversionDeviceType=Fc;t.IfcEngineType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=132023988}};t.IfcEvaporativeCoolerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};t.IfcEvaporatorType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};t.IfcEvent=class extends Xh{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.PredefinedType=o,this.EventTriggerType=h,this.UserDefinedEventTriggerType=c,this.EventOccurenceTime=l,this.type=4148101412}};class Uc extends hc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.type=2853485674}}t.IfcExternalSpatialStructureElement=Uc;class wc extends Wh{constructor(t){super(t),this.Outer=t,this.type=807026263}}t.IfcFacetedBrep=wc;t.IfcFacetedBrepWithVoids=class extends wc{constructor(t,e){super(t),this.Outer=t,this.Voids=e,this.type=3737207727}};t.IfcFastener=class extends _c{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=647756555}};t.IfcFastenerType=class extends Mc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2489546625}};class Gc extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2827207264}}t.IfcFeatureElement=Gc;class Hc extends Gc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2143335405}}t.IfcFeatureElementAddition=Hc;class Bc extends Gc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1287392070}}t.IfcFeatureElementSubtraction=Bc;class Vc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3907093117}}t.IfcFlowControllerType=Vc;class Wc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3198132628}}t.IfcFlowFittingType=Wc;t.IfcFlowMeterType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class jc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1482959167}}t.IfcFlowMovingDeviceType=jc;class Yc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1834744321}}t.IfcFlowSegmentType=Yc;class zc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1339347760}}t.IfcFlowStorageDeviceType=zc;class kc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2297155007}}t.IfcFlowTerminalType=kc;class Xc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3009222698}}t.IfcFlowTreatmentDeviceType=Xc;t.IfcFootingType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1893162501}};class Kc extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=263784265}}t.IfcFurnishingElement=Kc;t.IfcFurniture=class extends Kc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1509553395}};t.IfcGeographicElement=class extends xc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3493046030}};t.IfcGrid=class extends Kh{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.UAxes=o,this.VAxes=h,this.WAxes=c,this.PredefinedType=l,this.type=3009204131}};class Zc extends jh{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2706460486}}t.IfcGroup=Zc;t.IfcHeatExchangerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};t.IfcHumidifierType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};t.IfcIndexedPolyCurve=class extends mc{constructor(t,e,s){super(),this.Points=t,this.Segments=e,this.SelfIntersect=s,this.type=2571569899}};t.IfcInterceptorType=class extends Xc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3946677679}};t.IfcIntersectionCurve=class extends dc{constructor(t,e,s){super(t,e,s),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=3113134337}};t.IfcInventory=class extends Zc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.Jurisdiction=a,this.ResponsiblePersons=o,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=l,this.type=2391368822}};t.IfcJunctionBoxType=class extends Wc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};t.IfcLaborResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3827777499}};t.IfcLampType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};t.IfcLightFixtureType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};t.IfcMechanicalFastener=class extends _c{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NominalDiameter=h,this.NominalLength=c,this.PredefinedType=l,this.type=377706215}};t.IfcMechanicalFastenerType=class extends Mc{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.NominalLength=p,this.type=2108223431}};t.IfcMedicalDeviceType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1114901282}};t.IfcMemberType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};t.IfcMotorConnectionType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};t.IfcOccupant=class extends Rc{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};class qc extends Bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3588315303}}t.IfcOpeningElement=qc;t.IfcOpeningStandardCase=class extends qc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3079942009}};t.IfcOutletType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};t.IfcPerformanceHistory=class extends bc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LifeCyclePhase=a,this.PredefinedType=o,this.type=2382730787}};t.IfcPermeableCoveringProperties=class extends kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=3566463478}};t.IfcPermit=class extends bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=3327091369}};t.IfcPileType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1158309216}};t.IfcPipeFittingType=class extends Wc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};t.IfcPipeSegmentType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};t.IfcPlateType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};t.IfcPolygonalFaceSet=class extends Nc{constructor(t,e,s,i){super(t),this.Coordinates=t,this.Closed=e,this.Faces=s,this.PnIndex=i,this.type=2839578677}};t.IfcPolyline=class extends mc{constructor(t){super(),this.Points=t,this.type=3724593414}};class Qc extends Kh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}t.IfcPort=Qc;t.IfcProcedure=class extends Xh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.PredefinedType=o,this.type=2744685151}};t.IfcProjectOrder=class extends bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=2904328755}};t.IfcProjectionElement=class extends Hc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3651124850}};t.IfcProtectiveDeviceType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};t.IfcPumpType=class extends jc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};t.IfcRailingType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};t.IfcRampFlightType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};t.IfcRampType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1469900589}};t.IfcRationalBSplineSurfaceWithKnots=class extends Dc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h,c,l,p),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=o,this.VMultiplicities=h,this.UKnots=c,this.VKnots=l,this.KnotSpec=p,this.WeightsData=u,this.type=683857671}};class Jc extends _c{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.type=3027567501}}t.IfcReinforcingElement=Jc;class $c extends Mc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=964333572}}t.IfcReinforcingElementType=$c;t.IfcReinforcingMesh=class extends Jc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=l,this.LongitudinalBarNominalDiameter=p,this.TransverseBarNominalDiameter=u,this.LongitudinalBarCrossSectionArea=E,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=y,this.TransverseBarSpacing=T,this.PredefinedType=d,this.type=2320036040}};t.IfcReinforcingMeshType=class extends $c{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.MeshLength=l,this.MeshWidth=p,this.LongitudinalBarNominalDiameter=u,this.TransverseBarNominalDiameter=E,this.LongitudinalBarCrossSectionArea=I,this.TransverseBarCrossSectionArea=y,this.LongitudinalBarSpacing=T,this.TransverseBarSpacing=d,this.BendingShapeCode=N,this.BendingParameters=R,this.type=2310774935}};t.IfcRelAggregates=class extends sc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=160246688}};t.IfcRoofType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2781568857}};t.IfcSanitaryTerminalType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};t.IfcSeamCurve=class extends dc{constructor(t,e,s){super(t,e,s),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=2157484638}};t.IfcShadingDeviceType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4074543187}};t.IfcSite=class extends lc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=l,this.RefElevation=p,this.LandTitleNumber=u,this.SiteAddress=E,this.type=4097777520}};t.IfcSlabType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};t.IfcSolarDeviceType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1072016465}};t.IfcSpace=class extends lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.ElevationWithFlooring=l,this.type=3856911033}};t.IfcSpaceHeaterType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};t.IfcSpaceType=class extends pc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.LongName=l,this.type=3812236995}};t.IfcStackTerminalType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};t.IfcStairFlightType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};t.IfcStairType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=338393293}};class tl extends uc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=682877961}}t.IfcStructuralAction=tl;class el extends Ec{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1179482911}}t.IfcStructuralConnection=el;class sl extends tl{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1004757350}}t.IfcStructuralCurveAction=sl;t.IfcStructuralCurveConnection=class extends el{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.Axis=h,this.type=4243806635}};class il extends Ic{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Axis=h,this.type=214636428}}t.IfcStructuralCurveMember=il;t.IfcStructuralCurveMemberVarying=class extends il{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Axis=h,this.type=2445595289}};t.IfcStructuralCurveReaction=class extends yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=2757150158}};t.IfcStructuralLinearAction=class extends sl{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1807405624}};class rl extends Zc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.ActionType=a,this.ActionSource=o,this.Coefficient=h,this.Purpose=c,this.type=1252848954}}t.IfcStructuralLoadGroup=rl;t.IfcStructuralPointAction=class extends tl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=2082059205}};t.IfcStructuralPointConnection=class extends el{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.ConditionCoordinateSystem=h,this.type=734778138}};t.IfcStructuralPointReaction=class extends yc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=1235345126}};t.IfcStructuralResultGroup=class extends Zc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=o,this.type=2986769608}};class nl extends tl{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=3657597509}}t.IfcStructuralSurfaceAction=nl;t.IfcStructuralSurfaceConnection=class extends el{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1975003073}};t.IfcSubContractResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=148013059}};t.IfcSurfaceFeature=class extends Gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3101698114}};t.IfcSwitchingDeviceType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class al extends Zc{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2254336722}}t.IfcSystem=al;t.IfcSystemFurnitureElement=class extends Kc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=413509423}};t.IfcTankType=class extends zc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};t.IfcTendon=class extends Jc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.TensionForce=u,this.PreStress=E,this.FrictionCoefficient=I,this.AnchorageSlip=y,this.MinCurvatureRadius=T,this.type=3824725483}};t.IfcTendonAnchor=class extends Jc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.type=2347447852}};t.IfcTendonAnchorType=class extends $c{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3081323446}};t.IfcTendonType=class extends $c{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.SheathDiameter=u,this.type=2415094496}};t.IfcTransformerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};t.IfcTransportElement=class extends xc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1620046519}};t.IfcTrimmedCurve=class extends mc{constructor(t,e,s,i,r){super(),this.BasisCurve=t,this.Trim1=e,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=r,this.type=3593883385}};t.IfcTubeBundleType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};t.IfcUnitaryEquipmentType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};t.IfcValveType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};t.IfcVibrationIsolator=class extends _c{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2391383451}};t.IfcVibrationIsolatorType=class extends Mc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};t.IfcVirtualElement=class extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2769231204}};t.IfcVoidingFeature=class extends Bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=926996030}};t.IfcWallType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};t.IfcWasteTerminalType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};t.IfcWindowType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.PartitioningType=l,this.ParameterTakesPrecedence=p,this.UserDefinedPartitioningType=u,this.type=4009809668}};t.IfcWorkCalendar=class extends bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.WorkingTimes=a,this.ExceptionTimes=o,this.PredefinedType=h,this.type=4088093105}};class ol extends bc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.type=1028945134}}t.IfcWorkControl=ol;t.IfcWorkPlan=class extends ol{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.PredefinedType=E,this.type=4218914973}};t.IfcWorkSchedule=class extends ol{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.PredefinedType=E,this.type=3342526732}};t.IfcZone=class extends al{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.type=1033361043}};t.IfcActionRequest=class extends bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=3821786052}};t.IfcAirTerminalBoxType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};t.IfcAirTerminalType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};t.IfcAirToAirHeatRecoveryType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};t.IfcAsset=class extends Zc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.OriginalValue=a,this.CurrentValue=o,this.TotalReplacementCost=h,this.Owner=c,this.User=l,this.ResponsiblePerson=p,this.IncorporationDate=u,this.DepreciatedValue=E,this.type=3460190687}};t.IfcAudioVisualApplianceType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1532957894}};class hl extends mc{constructor(t,e,s,i,r){super(),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.type=1967976161}}t.IfcBSplineCurve=hl;class cl extends hl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=o,this.type=2461110595}}t.IfcBSplineCurveWithKnots=cl;t.IfcBeamType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};t.IfcBoilerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class ll extends Cc{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=1136057603}}t.IfcBoundaryCurve=ll;class pl extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3299480353}}t.IfcBuildingElement=pl;t.IfcBuildingElementPart=class extends _c{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2979338954}};t.IfcBuildingElementPartType=class extends Mc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=39481116}};t.IfcBuildingElementProxy=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1095909175}};t.IfcBuildingElementProxyType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};t.IfcBuildingSystem=class extends al{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.LongName=a,this.type=1177604601}};t.IfcBurnerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2188180465}};t.IfcCableCarrierFittingType=class extends Wc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};t.IfcCableCarrierSegmentType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};t.IfcCableFittingType=class extends Wc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2674252688}};t.IfcCableSegmentType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};t.IfcChillerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};t.IfcChimney=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3296154744}};t.IfcCircle=class extends vc{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=2611217952}};t.IfcCivilElement=class extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1677625105}};t.IfcCoilType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};class ul extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=843113511}}t.IfcColumn=ul;t.IfcColumnStandardCase=class extends ul{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=905975707}};t.IfcCommunicationsApplianceType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=400855858}};t.IfcCompressorType=class extends jc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};t.IfcCondenserType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};t.IfcConstructionEquipmentResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3898045240}};t.IfcConstructionMaterialResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=1060000209}};t.IfcConstructionProductResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=488727124}};t.IfcCooledBeamType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};t.IfcCoolingTowerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};t.IfcCovering=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1973544240}};t.IfcCurtainWall=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3495092785}};t.IfcDamperType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};t.IfcDiscreteAccessory=class extends _c{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1335981549}};t.IfcDiscreteAccessoryType=class extends Mc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2635815018}};t.IfcDistributionChamberElementType=class extends gc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class El extends Pc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2063403501}}t.IfcDistributionControlElementType=El;class Il extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1945004755}}t.IfcDistributionElement=Il;class yl extends Il{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3040386961}}t.IfcDistributionFlowElement=yl;t.IfcDistributionPort=class extends Qc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=o,this.PredefinedType=h,this.SystemType=c,this.type=3041715199}};class Tl extends al{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.PredefinedType=a,this.type=3205830791}}t.IfcDistributionSystem=Tl;class dl extends pl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.OperationType=p,this.UserDefinedOperationType=u,this.type=395920057}}t.IfcDoor=dl;t.IfcDoorStandardCase=class extends dl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.OperationType=p,this.UserDefinedOperationType=u,this.type=3242481149}};t.IfcDuctFittingType=class extends Wc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};t.IfcDuctSegmentType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};t.IfcDuctSilencerType=class extends Xc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};t.IfcElectricApplianceType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};t.IfcElectricDistributionBoardType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2417008758}};t.IfcElectricFlowStorageDeviceType=class extends zc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};t.IfcElectricGeneratorType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};t.IfcElectricMotorType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};t.IfcElectricTimeControlType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};class Nl extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1658829314}}t.IfcEnergyConversionDevice=Nl;t.IfcEngine=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2814081492}};t.IfcEvaporativeCooler=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3747195512}};t.IfcEvaporator=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=484807127}};t.IfcExternalSpatialElement=class extends Uc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.PredefinedType=h,this.type=1209101575}};t.IfcFanType=class extends jc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};t.IfcFilterType=class extends Xc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};t.IfcFireSuppressionTerminalType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class Rl extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2058353004}}t.IfcFlowController=Rl;class fl extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=4278956645}}t.IfcFlowFitting=fl;t.IfcFlowInstrumentType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};t.IfcFlowMeter=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2188021234}};class Ol extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3132237377}}t.IfcFlowMovingDevice=Ol;class Dl extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=987401354}}t.IfcFlowSegment=Dl;class ml extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=707683696}}t.IfcFlowStorageDevice=ml;class Al extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2223149337}}t.IfcFlowTerminal=Al;class Sl extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3508470533}}t.IfcFlowTreatmentDevice=Sl;t.IfcFooting=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=900683007}};t.IfcHeatExchanger=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3319311131}};t.IfcHumidifier=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2068733104}};t.IfcInterceptor=class extends Sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4175244083}};t.IfcJunctionBox=class extends fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2176052936}};t.IfcLamp=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=76236018}};t.IfcLightFixture=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=629592764}};t.IfcMedicalDevice=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1437502449}};class Cl extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1073191201}}t.IfcMember=Cl;t.IfcMemberStandardCase=class extends Cl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1911478936}};t.IfcMotorConnection=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2474470126}};t.IfcOuterBoundaryCurve=class extends ll{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=144952367}};t.IfcOutlet=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3694346114}};t.IfcPile=class extends pl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};t.IfcPipeFitting=class extends fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=310824031}};t.IfcPipeSegment=class extends Dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3612865200}};class vl extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3171933400}}t.IfcPlate=vl;t.IfcPlateStandardCase=class extends vl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1156407060}};t.IfcProtectiveDevice=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=738039164}};t.IfcProtectiveDeviceTrippingUnitType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=655969474}};t.IfcPump=class extends Ol{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=90941305}};t.IfcRailing=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2262370178}};t.IfcRamp=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3024970846}};t.IfcRampFlight=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3283111854}};t.IfcRationalBSplineCurveWithKnots=class extends cl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=o,this.WeightsData=h,this.type=1232101972}};t.IfcReinforcingBar=class extends Jc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=l,this.BarLength=p,this.PredefinedType=u,this.BarSurface=E,this.type=979691226}};t.IfcReinforcingBarType=class extends $c{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.BarLength=u,this.BarSurface=E,this.BendingShapeCode=I,this.BendingParameters=y,this.type=2572171363}};t.IfcRoof=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2016517767}};t.IfcSanitaryTerminal=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3053780830}};t.IfcSensorType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};t.IfcShadingDevice=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1329646415}};class Ll extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1529196076}}t.IfcSlab=Ll;t.IfcSlabElementedCase=class extends Ll{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3127900445}};t.IfcSlabStandardCase=class extends Ll{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3027962421}};t.IfcSolarDevice=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3420628829}};t.IfcSpaceHeater=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1999602285}};t.IfcStackTerminal=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1404847402}};t.IfcStair=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=331165859}};t.IfcStairFlight=class extends pl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NumberOfRisers=h,this.NumberOfTreads=c,this.RiserHeight=l,this.TreadLength=p,this.PredefinedType=u,this.type=4252922144}};t.IfcStructuralAnalysisModel=class extends al{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=o,this.HasResults=h,this.SharedPlacement=c,this.type=2515109513}};t.IfcStructuralLoadCase=class extends rl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.ActionType=a,this.ActionSource=o,this.Coefficient=h,this.Purpose=c,this.SelfWeightCoefficients=l,this.type=385403989}};t.IfcStructuralPlanarAction=class extends nl{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1621171031}};t.IfcSwitchingDevice=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1162798199}};t.IfcTank=class extends ml{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=812556717}};t.IfcTransformer=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3825984169}};t.IfcTubeBundle=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3026737570}};t.IfcUnitaryControlElementType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3179687236}};t.IfcUnitaryEquipment=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4292641817}};t.IfcValve=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4207607924}};class bl extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2391406946}}t.IfcWall=bl;t.IfcWallElementedCase=class extends bl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4156078855}};t.IfcWallStandardCase=class extends bl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3512223829}};t.IfcWasteTerminal=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4237592921}};class Pl extends pl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.PartitioningType=p,this.UserDefinedPartitioningType=u,this.type=3304561284}}t.IfcWindow=Pl;t.IfcWindowStandardCase=class extends Pl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.PartitioningType=p,this.UserDefinedPartitioningType=u,this.type=486154966}};t.IfcActuatorType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};t.IfcAirTerminal=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1634111441}};t.IfcAirTerminalBox=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=177149247}};t.IfcAirToAirHeatRecovery=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2056796094}};t.IfcAlarmType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};t.IfcAudioVisualAppliance=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=277319702}};class gl extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=753842376}}t.IfcBeam=gl;t.IfcBeamStandardCase=class extends gl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2906023776}};t.IfcBoiler=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=32344328}};t.IfcBurner=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2938176219}};t.IfcCableCarrierFitting=class extends fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=635142910}};t.IfcCableCarrierSegment=class extends Dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3758799889}};t.IfcCableFitting=class extends fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1051757585}};t.IfcCableSegment=class extends Dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4217484030}};t.IfcChiller=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3902619387}};t.IfcCoil=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=639361253}};t.IfcCommunicationsAppliance=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3221913625}};t.IfcCompressor=class extends Ol{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3571504051}};t.IfcCondenser=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2272882330}};t.IfcControllerType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};t.IfcCooledBeam=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4136498852}};t.IfcCoolingTower=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3640358203}};t.IfcDamper=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4074379575}};t.IfcDistributionChamberElement=class extends yl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1052013943}};t.IfcDistributionCircuit=class extends Tl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.PredefinedType=a,this.type=562808652}};class xl extends Il{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1062813311}}t.IfcDistributionControlElement=xl;t.IfcDuctFitting=class extends fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=342316401}};t.IfcDuctSegment=class extends Dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3518393246}};t.IfcDuctSilencer=class extends Sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1360408905}};t.IfcElectricAppliance=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1904799276}};t.IfcElectricDistributionBoard=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=862014818}};t.IfcElectricFlowStorageDevice=class extends ml{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3310460725}};t.IfcElectricGenerator=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=264262732}};t.IfcElectricMotor=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=402227799}};t.IfcElectricTimeControl=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1003880860}};t.IfcFan=class extends Ol{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3415622556}};t.IfcFilter=class extends Sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=819412036}};t.IfcFireSuppressionTerminal=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1426591983}};t.IfcFlowInstrument=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=182646315}};t.IfcProtectiveDeviceTrippingUnit=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2295281155}};t.IfcSensor=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4086658281}};t.IfcUnitaryControlElement=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=630975310}};t.IfcActuator=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4288193352}};t.IfcAlarm=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3087945054}};t.IfcController=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=25142252}}})(Mu||(Mu={})),Hu[2]={3699917729:t=>new Fu.IfcAbsorbedDoseMeasure(t),4182062534:t=>new Fu.IfcAccelerationMeasure(t),360377573:t=>new Fu.IfcAmountOfSubstanceMeasure(t),632304761:t=>new Fu.IfcAngularVelocityMeasure(t),3683503648:t=>new Fu.IfcArcIndex(t.map((t=>t.value))),1500781891:t=>new Fu.IfcAreaDensityMeasure(t),2650437152:t=>new Fu.IfcAreaMeasure(t),2314439260:t=>new Fu.IfcBinary(t),2735952531:t=>new Fu.IfcBoolean(t),1867003952:t=>new Fu.IfcBoxAlignment(t),1683019596:t=>new Fu.IfcCardinalPointReference(t),2991860651:t=>new Fu.IfcComplexNumber(t.map((t=>t.value))),3812528620:t=>new Fu.IfcCompoundPlaneAngleMeasure(t.map((t=>t.value))),3238673880:t=>new Fu.IfcContextDependentMeasure(t),1778710042:t=>new Fu.IfcCountMeasure(t),94842927:t=>new Fu.IfcCurvatureMeasure(t),937566702:t=>new Fu.IfcDate(t),2195413836:t=>new Fu.IfcDateTime(t),86635668:t=>new Fu.IfcDayInMonthNumber(t),3701338814:t=>new Fu.IfcDayInWeekNumber(t),1514641115:t=>new Fu.IfcDescriptiveMeasure(t),4134073009:t=>new Fu.IfcDimensionCount(t),524656162:t=>new Fu.IfcDoseEquivalentMeasure(t),2541165894:t=>new Fu.IfcDuration(t),69416015:t=>new Fu.IfcDynamicViscosityMeasure(t),1827137117:t=>new Fu.IfcElectricCapacitanceMeasure(t),3818826038:t=>new Fu.IfcElectricChargeMeasure(t),2093906313:t=>new Fu.IfcElectricConductanceMeasure(t),3790457270:t=>new Fu.IfcElectricCurrentMeasure(t),2951915441:t=>new Fu.IfcElectricResistanceMeasure(t),2506197118:t=>new Fu.IfcElectricVoltageMeasure(t),2078135608:t=>new Fu.IfcEnergyMeasure(t),1102727119:t=>new Fu.IfcFontStyle(t),2715512545:t=>new Fu.IfcFontVariant(t),2590844177:t=>new Fu.IfcFontWeight(t),1361398929:t=>new Fu.IfcForceMeasure(t),3044325142:t=>new Fu.IfcFrequencyMeasure(t),3064340077:t=>new Fu.IfcGloballyUniqueId(t),3113092358:t=>new Fu.IfcHeatFluxDensityMeasure(t),1158859006:t=>new Fu.IfcHeatingValueMeasure(t),983778844:t=>new Fu.IfcIdentifier(t),3358199106:t=>new Fu.IfcIlluminanceMeasure(t),2679005408:t=>new Fu.IfcInductanceMeasure(t),1939436016:t=>new Fu.IfcInteger(t),3809634241:t=>new Fu.IfcIntegerCountRateMeasure(t),3686016028:t=>new Fu.IfcIonConcentrationMeasure(t),3192672207:t=>new Fu.IfcIsothermalMoistureCapacityMeasure(t),2054016361:t=>new Fu.IfcKinematicViscosityMeasure(t),3258342251:t=>new Fu.IfcLabel(t),1275358634:t=>new Fu.IfcLanguageId(t),1243674935:t=>new Fu.IfcLengthMeasure(t),1774176899:t=>new Fu.IfcLineIndex(t.map((t=>t.value))),191860431:t=>new Fu.IfcLinearForceMeasure(t),2128979029:t=>new Fu.IfcLinearMomentMeasure(t),1307019551:t=>new Fu.IfcLinearStiffnessMeasure(t),3086160713:t=>new Fu.IfcLinearVelocityMeasure(t),503418787:t=>new Fu.IfcLogical(t),2095003142:t=>new Fu.IfcLuminousFluxMeasure(t),2755797622:t=>new Fu.IfcLuminousIntensityDistributionMeasure(t),151039812:t=>new Fu.IfcLuminousIntensityMeasure(t),286949696:t=>new Fu.IfcMagneticFluxDensityMeasure(t),2486716878:t=>new Fu.IfcMagneticFluxMeasure(t),1477762836:t=>new Fu.IfcMassDensityMeasure(t),4017473158:t=>new Fu.IfcMassFlowRateMeasure(t),3124614049:t=>new Fu.IfcMassMeasure(t),3531705166:t=>new Fu.IfcMassPerLengthMeasure(t),3341486342:t=>new Fu.IfcModulusOfElasticityMeasure(t),2173214787:t=>new Fu.IfcModulusOfLinearSubgradeReactionMeasure(t),1052454078:t=>new Fu.IfcModulusOfRotationalSubgradeReactionMeasure(t),1753493141:t=>new Fu.IfcModulusOfSubgradeReactionMeasure(t),3177669450:t=>new Fu.IfcMoistureDiffusivityMeasure(t),1648970520:t=>new Fu.IfcMolecularWeightMeasure(t),3114022597:t=>new Fu.IfcMomentOfInertiaMeasure(t),2615040989:t=>new Fu.IfcMonetaryMeasure(t),765770214:t=>new Fu.IfcMonthInYearNumber(t),525895558:t=>new Fu.IfcNonNegativeLengthMeasure(t),2095195183:t=>new Fu.IfcNormalisedRatioMeasure(t),2395907400:t=>new Fu.IfcNumericMeasure(t),929793134:t=>new Fu.IfcPHMeasure(t),2260317790:t=>new Fu.IfcParameterValue(t),2642773653:t=>new Fu.IfcPlanarForceMeasure(t),4042175685:t=>new Fu.IfcPlaneAngleMeasure(t),1790229001:t=>new Fu.IfcPositiveInteger(t),2815919920:t=>new Fu.IfcPositiveLengthMeasure(t),3054510233:t=>new Fu.IfcPositivePlaneAngleMeasure(t),1245737093:t=>new Fu.IfcPositiveRatioMeasure(t),1364037233:t=>new Fu.IfcPowerMeasure(t),2169031380:t=>new Fu.IfcPresentableText(t),3665567075:t=>new Fu.IfcPressureMeasure(t),2798247006:t=>new Fu.IfcPropertySetDefinitionSet(t.map((t=>t.value))),3972513137:t=>new Fu.IfcRadioActivityMeasure(t),96294661:t=>new Fu.IfcRatioMeasure(t),200335297:t=>new Fu.IfcReal(t),2133746277:t=>new Fu.IfcRotationalFrequencyMeasure(t),1755127002:t=>new Fu.IfcRotationalMassMeasure(t),3211557302:t=>new Fu.IfcRotationalStiffnessMeasure(t),3467162246:t=>new Fu.IfcSectionModulusMeasure(t),2190458107:t=>new Fu.IfcSectionalAreaIntegralMeasure(t),408310005:t=>new Fu.IfcShearModulusMeasure(t),3471399674:t=>new Fu.IfcSolidAngleMeasure(t),4157543285:t=>new Fu.IfcSoundPowerLevelMeasure(t),846465480:t=>new Fu.IfcSoundPowerMeasure(t),3457685358:t=>new Fu.IfcSoundPressureLevelMeasure(t),993287707:t=>new Fu.IfcSoundPressureMeasure(t),3477203348:t=>new Fu.IfcSpecificHeatCapacityMeasure(t),2757832317:t=>new Fu.IfcSpecularExponent(t),361837227:t=>new Fu.IfcSpecularRoughness(t),1805707277:t=>new Fu.IfcStrippedOptional(t),58845555:t=>new Fu.IfcTemperatureGradientMeasure(t),1209108979:t=>new Fu.IfcTemperatureRateOfChangeMeasure(t),2801250643:t=>new Fu.IfcText(t),1460886941:t=>new Fu.IfcTextAlignment(t),3490877962:t=>new Fu.IfcTextDecoration(t),603696268:t=>new Fu.IfcTextFontName(t),296282323:t=>new Fu.IfcTextTransformation(t),232962298:t=>new Fu.IfcThermalAdmittanceMeasure(t),2645777649:t=>new Fu.IfcThermalConductivityMeasure(t),2281867870:t=>new Fu.IfcThermalExpansionCoefficientMeasure(t),857959152:t=>new Fu.IfcThermalResistanceMeasure(t),2016195849:t=>new Fu.IfcThermalTransmittanceMeasure(t),743184107:t=>new Fu.IfcThermodynamicTemperatureMeasure(t),4075327185:t=>new Fu.IfcTime(t),2726807636:t=>new Fu.IfcTimeMeasure(t),2591213694:t=>new Fu.IfcTimeStamp(t),1278329552:t=>new Fu.IfcTorqueMeasure(t),950732822:t=>new Fu.IfcURIReference(t),3345633955:t=>new Fu.IfcVaporPermeabilityMeasure(t),3458127941:t=>new Fu.IfcVolumeMeasure(t),2593997549:t=>new Fu.IfcVolumetricFlowRateMeasure(t),51269191:t=>new Fu.IfcWarpingConstantMeasure(t),1718600412:t=>new Fu.IfcWarpingMomentMeasure(t),2149462589:t=>new Fu.IfcWellKnownTextLiteral(t)},(t=>{t.IfcAbsorbedDoseMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCABSORBEDDOSEMEASURE"}};t.IfcAccelerationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCACCELERATIONMEASURE"}};t.IfcAmountOfSubstanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAMOUNTOFSUBSTANCEMEASURE"}};t.IfcAngularVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCANGULARVELOCITYMEASURE"}};t.IfcArcIndex=class{constructor(t){this.value=t,this.type=5}};t.IfcAreaDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAREADENSITYMEASURE"}};t.IfcAreaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAREAMEASURE"}};t.IfcBinary=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCBINARY"}};t.IfcBoolean=class{constructor(t){this.type=3,this.name="IFCBOOLEAN",this.value=t}};t.IfcBoxAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCBOXALIGNMENT"}};t.IfcCardinalPointReference=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCCARDINALPOINTREFERENCE"}};t.IfcComplexNumber=class{constructor(t){this.value=t,this.type=4}};t.IfcCompoundPlaneAngleMeasure=class{constructor(t){this.value=t,this.type=10}};t.IfcContextDependentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCONTEXTDEPENDENTMEASURE"}};t.IfcCountMeasure=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCCOUNTMEASURE"}};t.IfcCurvatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCURVATUREMEASURE"}};t.IfcDate=class{constructor(t){this.value=t,this.type=1,this.name="IFCDATE"}};t.IfcDateTime=class{constructor(t){this.value=t,this.type=1,this.name="IFCDATETIME"}};t.IfcDayInMonthNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINMONTHNUMBER"}};t.IfcDayInWeekNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINWEEKNUMBER"}};t.IfcDescriptiveMeasure=class{constructor(t){this.value=t,this.type=1,this.name="IFCDESCRIPTIVEMEASURE"}};class e extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDIMENSIONCOUNT"}}t.IfcDimensionCount=e;t.IfcDoseEquivalentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDOSEEQUIVALENTMEASURE"}};t.IfcDuration=class{constructor(t){this.value=t,this.type=1,this.name="IFCDURATION"}};t.IfcDynamicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDYNAMICVISCOSITYMEASURE"}};t.IfcElectricCapacitanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCAPACITANCEMEASURE"}};t.IfcElectricChargeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCHARGEMEASURE"}};t.IfcElectricConductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCONDUCTANCEMEASURE"}};t.IfcElectricCurrentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCURRENTMEASURE"}};t.IfcElectricResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICRESISTANCEMEASURE"}};t.IfcElectricVoltageMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICVOLTAGEMEASURE"}};t.IfcEnergyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCENERGYMEASURE"}};t.IfcFontStyle=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTSTYLE"}};t.IfcFontVariant=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTVARIANT"}};t.IfcFontWeight=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTWEIGHT"}};t.IfcForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFORCEMEASURE"}};t.IfcFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFREQUENCYMEASURE"}};t.IfcGloballyUniqueId=class{constructor(t){this.value=t,this.type=1,this.name="IFCGLOBALLYUNIQUEID"}};t.IfcHeatFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATFLUXDENSITYMEASURE"}};t.IfcHeatingValueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATINGVALUEMEASURE"}};t.IfcIdentifier=class{constructor(t){this.value=t,this.type=1,this.name="IFCIDENTIFIER"}};t.IfcIlluminanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCILLUMINANCEMEASURE"}};t.IfcInductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCINDUCTANCEMEASURE"}};t.IfcInteger=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGER"}};t.IfcIntegerCountRateMeasure=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGERCOUNTRATEMEASURE"}};t.IfcIonConcentrationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCIONCONCENTRATIONMEASURE"}};t.IfcIsothermalMoistureCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCISOTHERMALMOISTURECAPACITYMEASURE"}};t.IfcKinematicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCKINEMATICVISCOSITYMEASURE"}};t.IfcLabel=class{constructor(t){this.value=t,this.type=1,this.name="IFCLABEL"}};t.IfcLanguageId=class{constructor(t){this.value=t,this.type=1,this.name="IFCLANGUAGEID"}};t.IfcLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLENGTHMEASURE"}};t.IfcLineIndex=class{constructor(t){this.value=t,this.type=5}};t.IfcLinearForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARFORCEMEASURE"}};t.IfcLinearMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARMOMENTMEASURE"}};t.IfcLinearStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARSTIFFNESSMEASURE"}};t.IfcLinearVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARVELOCITYMEASURE"}};t.IfcLogical=class{constructor(t){this.type=3,this.name="IFCLOGICAL",this.value=t}};t.IfcLuminousFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSFLUXMEASURE"}};t.IfcLuminousIntensityDistributionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE"}};t.IfcLuminousIntensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYMEASURE"}};t.IfcMagneticFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXDENSITYMEASURE"}};t.IfcMagneticFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXMEASURE"}};t.IfcMassDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSDENSITYMEASURE"}};t.IfcMassFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSFLOWRATEMEASURE"}};t.IfcMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSMEASURE"}};t.IfcMassPerLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSPERLENGTHMEASURE"}};t.IfcModulusOfElasticityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFELASTICITYMEASURE"}};t.IfcModulusOfLinearSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfRotationalSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFSUBGRADEREACTIONMEASURE"}};t.IfcMoistureDiffusivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOISTUREDIFFUSIVITYMEASURE"}};t.IfcMolecularWeightMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOLECULARWEIGHTMEASURE"}};t.IfcMomentOfInertiaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOMENTOFINERTIAMEASURE"}};t.IfcMonetaryMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMONETARYMEASURE"}};t.IfcMonthInYearNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCMONTHINYEARNUMBER"}};t.IfcNonNegativeLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNONNEGATIVELENGTHMEASURE"}};t.IfcNormalisedRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNORMALISEDRATIOMEASURE"}};t.IfcNumericMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNUMERICMEASURE"}};t.IfcPHMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPHMEASURE"}};t.IfcParameterValue=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPARAMETERVALUE"}};t.IfcPlanarForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANARFORCEMEASURE"}};t.IfcPlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANEANGLEMEASURE"}};t.IfcPositiveInteger=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCPOSITIVEINTEGER"}};t.IfcPositiveLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVELENGTHMEASURE"}};t.IfcPositivePlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVEPLANEANGLEMEASURE"}};t.IfcPositiveRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVERATIOMEASURE"}};t.IfcPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOWERMEASURE"}};t.IfcPresentableText=class{constructor(t){this.value=t,this.type=1,this.name="IFCPRESENTABLETEXT"}};t.IfcPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPRESSUREMEASURE"}};t.IfcPropertySetDefinitionSet=class{constructor(t){this.value=t,this.type=5}};t.IfcRadioActivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRADIOACTIVITYMEASURE"}};t.IfcRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRATIOMEASURE"}};t.IfcReal=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCREAL"}};t.IfcRotationalFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALFREQUENCYMEASURE"}};t.IfcRotationalMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALMASSMEASURE"}};t.IfcRotationalStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALSTIFFNESSMEASURE"}};t.IfcSectionModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONMODULUSMEASURE"}};t.IfcSectionalAreaIntegralMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONALAREAINTEGRALMEASURE"}};t.IfcShearModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSHEARMODULUSMEASURE"}};t.IfcSolidAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOLIDANGLEMEASURE"}};t.IfcSoundPowerLevelMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERLEVELMEASURE"}};t.IfcSoundPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERMEASURE"}};t.IfcSoundPressureLevelMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSURELEVELMEASURE"}};t.IfcSoundPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSUREMEASURE"}};t.IfcSpecificHeatCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECIFICHEATCAPACITYMEASURE"}};t.IfcSpecularExponent=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULAREXPONENT"}};t.IfcSpecularRoughness=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULARROUGHNESS"}};t.IfcStrippedOptional=class{constructor(t){this.type=3,this.name="IFCSTRIPPEDOPTIONAL",this.value=t}};t.IfcTemperatureGradientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATUREGRADIENTMEASURE"}};t.IfcTemperatureRateOfChangeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATURERATEOFCHANGEMEASURE"}};t.IfcText=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXT"}};t.IfcTextAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTALIGNMENT"}};t.IfcTextDecoration=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTDECORATION"}};t.IfcTextFontName=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTFONTNAME"}};t.IfcTextTransformation=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTTRANSFORMATION"}};t.IfcThermalAdmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALADMITTANCEMEASURE"}};t.IfcThermalConductivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALCONDUCTIVITYMEASURE"}};t.IfcThermalExpansionCoefficientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALEXPANSIONCOEFFICIENTMEASURE"}};t.IfcThermalResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALRESISTANCEMEASURE"}};t.IfcThermalTransmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALTRANSMITTANCEMEASURE"}};t.IfcThermodynamicTemperatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMODYNAMICTEMPERATUREMEASURE"}};t.IfcTime=class{constructor(t){this.value=t,this.type=1,this.name="IFCTIME"}};t.IfcTimeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTIMEMEASURE"}};t.IfcTimeStamp=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCTIMESTAMP"}};t.IfcTorqueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTORQUEMEASURE"}};t.IfcURIReference=class{constructor(t){this.value=t,this.type=1,this.name="IFCURIREFERENCE"}};t.IfcVaporPermeabilityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVAPORPERMEABILITYMEASURE"}};t.IfcVolumeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMEMEASURE"}};t.IfcVolumetricFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMETRICFLOWRATEMEASURE"}};t.IfcWarpingConstantMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGCONSTANTMEASURE"}};t.IfcWarpingMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGMOMENTMEASURE"}};t.IfcWellKnownTextLiteral=class{constructor(t){this.value=t,this.type=1,this.name="IFCWELLKNOWNTEXTLITERAL"}};const s=class{};s.EMAIL={type:3,value:"EMAIL"},s.FAX={type:3,value:"FAX"},s.PHONE={type:3,value:"PHONE"},s.POST={type:3,value:"POST"},s.VERBAL={type:3,value:"VERBAL"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"};let i=s;t.IfcActionRequestTypeEnum=i;const r=class{};r.BRAKES={type:3,value:"BRAKES"},r.BUOYANCY={type:3,value:"BUOYANCY"},r.COMPLETION_G1={type:3,value:"COMPLETION_G1"},r.CREEP={type:3,value:"CREEP"},r.CURRENT={type:3,value:"CURRENT"},r.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},r.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},r.ERECTION={type:3,value:"ERECTION"},r.FIRE={type:3,value:"FIRE"},r.ICE={type:3,value:"ICE"},r.IMPACT={type:3,value:"IMPACT"},r.IMPULSE={type:3,value:"IMPULSE"},r.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},r.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},r.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},r.PROPPING={type:3,value:"PROPPING"},r.RAIN={type:3,value:"RAIN"},r.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},r.SHRINKAGE={type:3,value:"SHRINKAGE"},r.SNOW_S={type:3,value:"SNOW_S"},r.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},r.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},r.TRANSPORT={type:3,value:"TRANSPORT"},r.WAVE={type:3,value:"WAVE"},r.WIND_W={type:3,value:"WIND_W"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"};let n=r;t.IfcActionSourceTypeEnum=n;const a=class{};a.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},a.PERMANENT_G={type:3,value:"PERMANENT_G"},a.VARIABLE_Q={type:3,value:"VARIABLE_Q"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"};let o=a;t.IfcActionTypeEnum=o;const h=class{};h.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},h.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},h.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},h.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},h.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"};let c=h;t.IfcActuatorTypeEnum=c;const l=class{};l.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},l.HOME={type:3,value:"HOME"},l.OFFICE={type:3,value:"OFFICE"},l.SITE={type:3,value:"SITE"},l.USERDEFINED={type:3,value:"USERDEFINED"};let p=l;t.IfcAddressTypeEnum=p;const u=class{};u.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},u.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},u.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"};let E=u;t.IfcAirTerminalBoxTypeEnum=E;const I=class{};I.DIFFUSER={type:3,value:"DIFFUSER"},I.GRILLE={type:3,value:"GRILLE"},I.LOUVRE={type:3,value:"LOUVRE"},I.REGISTER={type:3,value:"REGISTER"},I.USERDEFINED={type:3,value:"USERDEFINED"},I.NOTDEFINED={type:3,value:"NOTDEFINED"};let y=I;t.IfcAirTerminalTypeEnum=y;const T=class{};T.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},T.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},T.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},T.HEATPIPE={type:3,value:"HEATPIPE"},T.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},T.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},T.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},T.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},T.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"};let d=T;t.IfcAirToAirHeatRecoveryTypeEnum=d;const N=class{};N.BELL={type:3,value:"BELL"},N.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},N.LIGHT={type:3,value:"LIGHT"},N.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},N.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"},N.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"},N.SIREN={type:3,value:"SIREN"},N.WHISTLE={type:3,value:"WHISTLE"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"};let R=N;t.IfcAlarmTypeEnum=R;const f=class{};f.BLOSSCURVE={type:3,value:"BLOSSCURVE"},f.CONSTANTCANT={type:3,value:"CONSTANTCANT"},f.COSINECURVE={type:3,value:"COSINECURVE"},f.HELMERTCURVE={type:3,value:"HELMERTCURVE"},f.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"},f.SINECURVE={type:3,value:"SINECURVE"},f.VIENNESEBEND={type:3,value:"VIENNESEBEND"};let O=f;t.IfcAlignmentCantSegmentTypeEnum=O;const D=class{};D.BLOSSCURVE={type:3,value:"BLOSSCURVE"},D.CIRCULARARC={type:3,value:"CIRCULARARC"},D.CLOTHOID={type:3,value:"CLOTHOID"},D.COSINECURVE={type:3,value:"COSINECURVE"},D.CUBIC={type:3,value:"CUBIC"},D.HELMERTCURVE={type:3,value:"HELMERTCURVE"},D.LINE={type:3,value:"LINE"},D.SINECURVE={type:3,value:"SINECURVE"},D.VIENNESEBEND={type:3,value:"VIENNESEBEND"};let m=D;t.IfcAlignmentHorizontalSegmentTypeEnum=m;const A=class{};A.USERDEFINED={type:3,value:"USERDEFINED"},A.NOTDEFINED={type:3,value:"NOTDEFINED"};let S=A;t.IfcAlignmentTypeEnum=S;const C=class{};C.CIRCULARARC={type:3,value:"CIRCULARARC"},C.CLOTHOID={type:3,value:"CLOTHOID"},C.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"},C.PARABOLICARC={type:3,value:"PARABOLICARC"};let v=C;t.IfcAlignmentVerticalSegmentTypeEnum=v;const L=class{};L.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},L.LOADING_3D={type:3,value:"LOADING_3D"},L.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"};let b=L;t.IfcAnalysisModelTypeEnum=b;const P=class{};P.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},P.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},P.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},P.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"};let g=P;t.IfcAnalysisTheoryTypeEnum=g;const x=class{};x.CONTOURLINE={type:3,value:"CONTOURLINE"},x.DIMENSION={type:3,value:"DIMENSION"},x.ISOBAR={type:3,value:"ISOBAR"},x.ISOLUX={type:3,value:"ISOLUX"},x.ISOTHERM={type:3,value:"ISOTHERM"},x.LEADER={type:3,value:"LEADER"},x.SURVEY={type:3,value:"SURVEY"},x.SYMBOL={type:3,value:"SYMBOL"},x.TEXT={type:3,value:"TEXT"},x.USERDEFINED={type:3,value:"USERDEFINED"},x.NOTDEFINED={type:3,value:"NOTDEFINED"};let _=x;t.IfcAnnotationTypeEnum=_;const M=class{};M.ADD={type:3,value:"ADD"},M.DIVIDE={type:3,value:"DIVIDE"},M.MODULO={type:3,value:"MODULO"},M.MULTIPLY={type:3,value:"MULTIPLY"},M.SUBTRACT={type:3,value:"SUBTRACT"};let F=M;t.IfcArithmeticOperatorEnum=F;const U=class{};U.FACTORY={type:3,value:"FACTORY"},U.SITE={type:3,value:"SITE"},U.NOTDEFINED={type:3,value:"NOTDEFINED"};let w=U;t.IfcAssemblyPlaceEnum=w;const G=class{};G.AMPLIFIER={type:3,value:"AMPLIFIER"},G.CAMERA={type:3,value:"CAMERA"},G.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"},G.DISPLAY={type:3,value:"DISPLAY"},G.MICROPHONE={type:3,value:"MICROPHONE"},G.PLAYER={type:3,value:"PLAYER"},G.PROJECTOR={type:3,value:"PROJECTOR"},G.RECEIVER={type:3,value:"RECEIVER"},G.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"},G.SPEAKER={type:3,value:"SPEAKER"},G.SWITCHER={type:3,value:"SWITCHER"},G.TELEPHONE={type:3,value:"TELEPHONE"},G.TUNER={type:3,value:"TUNER"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"};let H=G;t.IfcAudioVisualApplianceTypeEnum=H;const B=class{};B.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},B.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},B.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},B.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},B.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},B.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let V=B;t.IfcBSplineCurveForm=V;const W=class{};W.CONICAL_SURF={type:3,value:"CONICAL_SURF"},W.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},W.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},W.PLANE_SURF={type:3,value:"PLANE_SURF"},W.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},W.RULED_SURF={type:3,value:"RULED_SURF"},W.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},W.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},W.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},W.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},W.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let j=W;t.IfcBSplineSurfaceForm=j;const Y=class{};Y.BEAM={type:3,value:"BEAM"},Y.CORNICE={type:3,value:"CORNICE"},Y.DIAPHRAGM={type:3,value:"DIAPHRAGM"},Y.EDGEBEAM={type:3,value:"EDGEBEAM"},Y.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"},Y.HATSTONE={type:3,value:"HATSTONE"},Y.HOLLOWCORE={type:3,value:"HOLLOWCORE"},Y.JOIST={type:3,value:"JOIST"},Y.LINTEL={type:3,value:"LINTEL"},Y.PIERCAP={type:3,value:"PIERCAP"},Y.SPANDREL={type:3,value:"SPANDREL"},Y.T_BEAM={type:3,value:"T_BEAM"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"};let z=Y;t.IfcBeamTypeEnum=z;const k=class{};k.CYLINDRICAL={type:3,value:"CYLINDRICAL"},k.DISK={type:3,value:"DISK"},k.ELASTOMERIC={type:3,value:"ELASTOMERIC"},k.GUIDE={type:3,value:"GUIDE"},k.POT={type:3,value:"POT"},k.ROCKER={type:3,value:"ROCKER"},k.ROLLER={type:3,value:"ROLLER"},k.SPHERICAL={type:3,value:"SPHERICAL"},k.USERDEFINED={type:3,value:"USERDEFINED"},k.NOTDEFINED={type:3,value:"NOTDEFINED"};let X=k;t.IfcBearingTypeEnum=X;const K=class{};K.EQUALTO={type:3,value:"EQUALTO"},K.GREATERTHAN={type:3,value:"GREATERTHAN"},K.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},K.INCLUDEDIN={type:3,value:"INCLUDEDIN"},K.INCLUDES={type:3,value:"INCLUDES"},K.LESSTHAN={type:3,value:"LESSTHAN"},K.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},K.NOTEQUALTO={type:3,value:"NOTEQUALTO"},K.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},K.NOTINCLUDES={type:3,value:"NOTINCLUDES"};let Z=K;t.IfcBenchmarkEnum=Z;const q=class{};q.STEAM={type:3,value:"STEAM"},q.WATER={type:3,value:"WATER"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"};let Q=q;t.IfcBoilerTypeEnum=Q;const J=class{};J.DIFFERENCE={type:3,value:"DIFFERENCE"},J.INTERSECTION={type:3,value:"INTERSECTION"},J.UNION={type:3,value:"UNION"};let $=J;t.IfcBooleanOperator=$;const tt=class{};tt.ABUTMENT={type:3,value:"ABUTMENT"},tt.DECK={type:3,value:"DECK"},tt.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"},tt.FOUNDATION={type:3,value:"FOUNDATION"},tt.PIER={type:3,value:"PIER"},tt.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"},tt.PYLON={type:3,value:"PYLON"},tt.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},tt.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},tt.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"},tt.USERDEFINED={type:3,value:"USERDEFINED"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let et=tt;t.IfcBridgePartTypeEnum=et;const st=class{};st.ARCHED={type:3,value:"ARCHED"},st.CABLE_STAYED={type:3,value:"CABLE_STAYED"},st.CANTILEVER={type:3,value:"CANTILEVER"},st.CULVERT={type:3,value:"CULVERT"},st.FRAMEWORK={type:3,value:"FRAMEWORK"},st.GIRDER={type:3,value:"GIRDER"},st.SUSPENSION={type:3,value:"SUSPENSION"},st.TRUSS={type:3,value:"TRUSS"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"};let it=st;t.IfcBridgeTypeEnum=it;const rt=class{};rt.APRON={type:3,value:"APRON"},rt.ARMOURUNIT={type:3,value:"ARMOURUNIT"},rt.INSULATION={type:3,value:"INSULATION"},rt.PRECASTPANEL={type:3,value:"PRECASTPANEL"},rt.SAFETYCAGE={type:3,value:"SAFETYCAGE"},rt.USERDEFINED={type:3,value:"USERDEFINED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"};let nt=rt;t.IfcBuildingElementPartTypeEnum=nt;const at=class{};at.COMPLEX={type:3,value:"COMPLEX"},at.ELEMENT={type:3,value:"ELEMENT"},at.PARTIAL={type:3,value:"PARTIAL"},at.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},at.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"};let ot=at;t.IfcBuildingElementProxyTypeEnum=ot;const ht=class{};ht.FENESTRATION={type:3,value:"FENESTRATION"},ht.FOUNDATION={type:3,value:"FOUNDATION"},ht.LOADBEARING={type:3,value:"LOADBEARING"},ht.OUTERSHELL={type:3,value:"OUTERSHELL"},ht.SHADING={type:3,value:"SHADING"},ht.TRANSPORT={type:3,value:"TRANSPORT"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let ct=ht;t.IfcBuildingSystemTypeEnum=ct;const lt=class{};lt.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},lt.FENESTRATION={type:3,value:"FENESTRATION"},lt.FOUNDATION={type:3,value:"FOUNDATION"},lt.LOADBEARING={type:3,value:"LOADBEARING"},lt.MOORING={type:3,value:"MOORING"},lt.OUTERSHELL={type:3,value:"OUTERSHELL"},lt.PRESTRESSING={type:3,value:"PRESTRESSING"},lt.RAILWAYLINE={type:3,value:"RAILWAYLINE"},lt.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"},lt.REINFORCING={type:3,value:"REINFORCING"},lt.SHADING={type:3,value:"SHADING"},lt.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"},lt.TRANSPORT={type:3,value:"TRANSPORT"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let pt=lt;t.IfcBuiltSystemTypeEnum=pt;const ut=class{};ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let Et=ut;t.IfcBurnerTypeEnum=Et;const It=class{};It.BEND={type:3,value:"BEND"},It.CONNECTOR={type:3,value:"CONNECTOR"},It.CROSS={type:3,value:"CROSS"},It.JUNCTION={type:3,value:"JUNCTION"},It.REDUCER={type:3,value:"REDUCER"},It.TEE={type:3,value:"TEE"},It.TRANSITION={type:3,value:"TRANSITION"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"};let yt=It;t.IfcCableCarrierFittingTypeEnum=yt;const Tt=class{};Tt.CABLEBRACKET={type:3,value:"CABLEBRACKET"},Tt.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Tt.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Tt.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Tt.CATENARYWIRE={type:3,value:"CATENARYWIRE"},Tt.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Tt.DROPPER={type:3,value:"DROPPER"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let dt=Tt;t.IfcCableCarrierSegmentTypeEnum=dt;const Nt=class{};Nt.CONNECTOR={type:3,value:"CONNECTOR"},Nt.ENTRY={type:3,value:"ENTRY"},Nt.EXIT={type:3,value:"EXIT"},Nt.FANOUT={type:3,value:"FANOUT"},Nt.JUNCTION={type:3,value:"JUNCTION"},Nt.TRANSITION={type:3,value:"TRANSITION"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rt=Nt;t.IfcCableFittingTypeEnum=Rt;const ft=class{};ft.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},ft.CABLESEGMENT={type:3,value:"CABLESEGMENT"},ft.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},ft.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"},ft.CORESEGMENT={type:3,value:"CORESEGMENT"},ft.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"},ft.FIBERTUBE={type:3,value:"FIBERTUBE"},ft.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"},ft.STITCHWIRE={type:3,value:"STITCHWIRE"},ft.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"},ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ot=ft;t.IfcCableSegmentTypeEnum=Ot;const Dt=class{};Dt.CAISSON={type:3,value:"CAISSON"},Dt.WELL={type:3,value:"WELL"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"};let mt=Dt;t.IfcCaissonFoundationTypeEnum=mt;const At=class{};At.ADDED={type:3,value:"ADDED"},At.DELETED={type:3,value:"DELETED"},At.MODIFIED={type:3,value:"MODIFIED"},At.NOCHANGE={type:3,value:"NOCHANGE"},At.NOTDEFINED={type:3,value:"NOTDEFINED"};let St=At;t.IfcChangeActionEnum=St;const Ct=class{};Ct.AIRCOOLED={type:3,value:"AIRCOOLED"},Ct.HEATRECOVERY={type:3,value:"HEATRECOVERY"},Ct.WATERCOOLED={type:3,value:"WATERCOOLED"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"};let vt=Ct;t.IfcChillerTypeEnum=vt;const Lt=class{};Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let bt=Lt;t.IfcChimneyTypeEnum=bt;const Pt=class{};Pt.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},Pt.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},Pt.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},Pt.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},Pt.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},Pt.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},Pt.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"};let gt=Pt;t.IfcCoilTypeEnum=gt;const xt=class{};xt.COLUMN={type:3,value:"COLUMN"},xt.PIERSTEM={type:3,value:"PIERSTEM"},xt.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"},xt.PILASTER={type:3,value:"PILASTER"},xt.STANDCOLUMN={type:3,value:"STANDCOLUMN"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let _t=xt;t.IfcColumnTypeEnum=_t;const Mt=class{};Mt.ANTENNA={type:3,value:"ANTENNA"},Mt.AUTOMATON={type:3,value:"AUTOMATON"},Mt.COMPUTER={type:3,value:"COMPUTER"},Mt.FAX={type:3,value:"FAX"},Mt.GATEWAY={type:3,value:"GATEWAY"},Mt.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"},Mt.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"},Mt.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"},Mt.MODEM={type:3,value:"MODEM"},Mt.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},Mt.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},Mt.NETWORKHUB={type:3,value:"NETWORKHUB"},Mt.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"},Mt.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"},Mt.PRINTER={type:3,value:"PRINTER"},Mt.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"},Mt.REPEATER={type:3,value:"REPEATER"},Mt.ROUTER={type:3,value:"ROUTER"},Mt.SCANNER={type:3,value:"SCANNER"},Mt.TELECOMMAND={type:3,value:"TELECOMMAND"},Mt.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"},Mt.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"},Mt.TRANSPONDER={type:3,value:"TRANSPONDER"},Mt.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ft=Mt;t.IfcCommunicationsApplianceTypeEnum=Ft;const Ut=class{};Ut.P_COMPLEX={type:3,value:"P_COMPLEX"},Ut.Q_COMPLEX={type:3,value:"Q_COMPLEX"};let wt=Ut;t.IfcComplexPropertyTemplateTypeEnum=wt;const Gt=class{};Gt.BOOSTER={type:3,value:"BOOSTER"},Gt.DYNAMIC={type:3,value:"DYNAMIC"},Gt.HERMETIC={type:3,value:"HERMETIC"},Gt.OPENTYPE={type:3,value:"OPENTYPE"},Gt.RECIPROCATING={type:3,value:"RECIPROCATING"},Gt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Gt.ROTARY={type:3,value:"ROTARY"},Gt.ROTARYVANE={type:3,value:"ROTARYVANE"},Gt.SCROLL={type:3,value:"SCROLL"},Gt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Gt.SINGLESCREW={type:3,value:"SINGLESCREW"},Gt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Gt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Gt.TWINSCREW={type:3,value:"TWINSCREW"},Gt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ht=Gt;t.IfcCompressorTypeEnum=Ht;const Bt=class{};Bt.AIRCOOLED={type:3,value:"AIRCOOLED"},Bt.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},Bt.WATERCOOLED={type:3,value:"WATERCOOLED"},Bt.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},Bt.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},Bt.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},Bt.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vt=Bt;t.IfcCondenserTypeEnum=Vt;const Wt=class{};Wt.ATEND={type:3,value:"ATEND"},Wt.ATPATH={type:3,value:"ATPATH"},Wt.ATSTART={type:3,value:"ATSTART"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"};let jt=Wt;t.IfcConnectionTypeEnum=jt;const Yt=class{};Yt.ADVISORY={type:3,value:"ADVISORY"},Yt.HARD={type:3,value:"HARD"},Yt.SOFT={type:3,value:"SOFT"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"};let zt=Yt;t.IfcConstraintEnum=zt;const kt=class{};kt.DEMOLISHING={type:3,value:"DEMOLISHING"},kt.EARTHMOVING={type:3,value:"EARTHMOVING"},kt.ERECTING={type:3,value:"ERECTING"},kt.HEATING={type:3,value:"HEATING"},kt.LIGHTING={type:3,value:"LIGHTING"},kt.PAVING={type:3,value:"PAVING"},kt.PUMPING={type:3,value:"PUMPING"},kt.TRANSPORTING={type:3,value:"TRANSPORTING"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xt=kt;t.IfcConstructionEquipmentResourceTypeEnum=Xt;const Kt=class{};Kt.AGGREGATES={type:3,value:"AGGREGATES"},Kt.CONCRETE={type:3,value:"CONCRETE"},Kt.DRYWALL={type:3,value:"DRYWALL"},Kt.FUEL={type:3,value:"FUEL"},Kt.GYPSUM={type:3,value:"GYPSUM"},Kt.MASONRY={type:3,value:"MASONRY"},Kt.METAL={type:3,value:"METAL"},Kt.PLASTIC={type:3,value:"PLASTIC"},Kt.WOOD={type:3,value:"WOOD"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zt=Kt;t.IfcConstructionMaterialResourceTypeEnum=Zt;const qt=class{};qt.ASSEMBLY={type:3,value:"ASSEMBLY"},qt.FORMWORK={type:3,value:"FORMWORK"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qt=qt;t.IfcConstructionProductResourceTypeEnum=Qt;const Jt=class{};Jt.FLOATING={type:3,value:"FLOATING"},Jt.MULTIPOSITION={type:3,value:"MULTIPOSITION"},Jt.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},Jt.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Jt.TWOPOSITION={type:3,value:"TWOPOSITION"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $t=Jt;t.IfcControllerTypeEnum=$t;const te=class{};te.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"},te.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"},te.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"},te.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"},te.USERDEFINED={type:3,value:"USERDEFINED"},te.NOTDEFINED={type:3,value:"NOTDEFINED"};let ee=te;t.IfcConveyorSegmentTypeEnum=ee;const se=class{};se.ACTIVE={type:3,value:"ACTIVE"},se.PASSIVE={type:3,value:"PASSIVE"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"};let ie=se;t.IfcCooledBeamTypeEnum=ie;const re=class{};re.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},re.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},re.NATURALDRAFT={type:3,value:"NATURALDRAFT"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"};let ne=re;t.IfcCoolingTowerTypeEnum=ne;const ae=class{};ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"};let oe=ae;t.IfcCostItemTypeEnum=oe;const he=class{};he.BUDGET={type:3,value:"BUDGET"},he.COSTPLAN={type:3,value:"COSTPLAN"},he.ESTIMATE={type:3,value:"ESTIMATE"},he.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},he.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},he.TENDER={type:3,value:"TENDER"},he.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"};let ce=he;t.IfcCostScheduleTypeEnum=ce;const le=class{};le.ARMOUR={type:3,value:"ARMOUR"},le.BALLASTBED={type:3,value:"BALLASTBED"},le.CORE={type:3,value:"CORE"},le.FILTER={type:3,value:"FILTER"},le.PAVEMENT={type:3,value:"PAVEMENT"},le.PROTECTION={type:3,value:"PROTECTION"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"};let pe=le;t.IfcCourseTypeEnum=pe;const ue=class{};ue.CEILING={type:3,value:"CEILING"},ue.CLADDING={type:3,value:"CLADDING"},ue.COPING={type:3,value:"COPING"},ue.FLOORING={type:3,value:"FLOORING"},ue.INSULATION={type:3,value:"INSULATION"},ue.MEMBRANE={type:3,value:"MEMBRANE"},ue.MOLDING={type:3,value:"MOLDING"},ue.ROOFING={type:3,value:"ROOFING"},ue.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},ue.SLEEVING={type:3,value:"SLEEVING"},ue.TOPPING={type:3,value:"TOPPING"},ue.WRAPPING={type:3,value:"WRAPPING"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ee=ue;t.IfcCoveringTypeEnum=Ee;const Ie=class{};Ie.OFFICE={type:3,value:"OFFICE"},Ie.SITE={type:3,value:"SITE"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"};let ye=Ie;t.IfcCrewResourceTypeEnum=ye;const Te=class{};Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"};let de=Te;t.IfcCurtainWallTypeEnum=de;const Ne=class{};Ne.LINEAR={type:3,value:"LINEAR"},Ne.LOG_LINEAR={type:3,value:"LOG_LINEAR"},Ne.LOG_LOG={type:3,value:"LOG_LOG"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"};let Re=Ne;t.IfcCurveInterpolationEnum=Re;const fe=class{};fe.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},fe.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},fe.BLASTDAMPER={type:3,value:"BLASTDAMPER"},fe.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},fe.FIREDAMPER={type:3,value:"FIREDAMPER"},fe.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},fe.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},fe.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},fe.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},fe.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},fe.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oe=fe;t.IfcDamperTypeEnum=Oe;const De=class{};De.MEASURED={type:3,value:"MEASURED"},De.PREDICTED={type:3,value:"PREDICTED"},De.SIMULATED={type:3,value:"SIMULATED"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"};let me=De;t.IfcDataOriginEnum=me;const Ae=class{};Ae.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Ae.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Ae.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},Ae.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Ae.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Ae.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Ae.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Ae.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Ae.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Ae.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Ae.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Ae.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Ae.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Ae.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Ae.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Ae.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Ae.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Ae.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Ae.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Ae.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Ae.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Ae.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Ae.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Ae.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Ae.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Ae.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Ae.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Ae.PHUNIT={type:3,value:"PHUNIT"},Ae.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Ae.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Ae.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Ae.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Ae.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Ae.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Ae.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Ae.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},Ae.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Ae.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},Ae.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Ae.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Ae.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Ae.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},Ae.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Ae.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Ae.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Ae.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Ae.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Ae.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Ae.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Ae.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Ae.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Ae.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Ae.USERDEFINED={type:3,value:"USERDEFINED"};let Se=Ae;t.IfcDerivedUnitEnum=Se;const Ce=class{};Ce.NEGATIVE={type:3,value:"NEGATIVE"},Ce.POSITIVE={type:3,value:"POSITIVE"};let ve=Ce;t.IfcDirectionSenseEnum=ve;const Le=class{};Le.ANCHORPLATE={type:3,value:"ANCHORPLATE"},Le.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"},Le.BRACKET={type:3,value:"BRACKET"},Le.CABLEARRANGER={type:3,value:"CABLEARRANGER"},Le.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"},Le.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"},Le.FILLER={type:3,value:"FILLER"},Le.FLASHING={type:3,value:"FLASHING"},Le.INSULATOR={type:3,value:"INSULATOR"},Le.LOCK={type:3,value:"LOCK"},Le.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"},Le.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"},Le.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"},Le.RAILBRACE={type:3,value:"RAILBRACE"},Le.RAILPAD={type:3,value:"RAILPAD"},Le.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"},Le.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"},Le.SHOE={type:3,value:"SHOE"},Le.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"},Le.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"},Le.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"};let be=Le;t.IfcDiscreteAccessoryTypeEnum=be;const Pe=class{};Pe.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Pe.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"},Pe.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Pe.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"},Pe.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Pe.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"};let ge=Pe;t.IfcDistributionBoardTypeEnum=ge;const xe=class{};xe.FORMEDDUCT={type:3,value:"FORMEDDUCT"},xe.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},xe.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},xe.MANHOLE={type:3,value:"MANHOLE"},xe.METERCHAMBER={type:3,value:"METERCHAMBER"},xe.SUMP={type:3,value:"SUMP"},xe.TRENCH={type:3,value:"TRENCH"},xe.VALVECHAMBER={type:3,value:"VALVECHAMBER"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"};let _e=xe;t.IfcDistributionChamberElementTypeEnum=_e;const Me=class{};Me.CABLE={type:3,value:"CABLE"},Me.CABLECARRIER={type:3,value:"CABLECARRIER"},Me.DUCT={type:3,value:"DUCT"},Me.PIPE={type:3,value:"PIPE"},Me.WIRELESS={type:3,value:"WIRELESS"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fe=Me;t.IfcDistributionPortTypeEnum=Fe;const Ue=class{};Ue.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},Ue.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},Ue.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"},Ue.CHEMICAL={type:3,value:"CHEMICAL"},Ue.CHILLEDWATER={type:3,value:"CHILLEDWATER"},Ue.COMMUNICATION={type:3,value:"COMMUNICATION"},Ue.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},Ue.CONDENSERWATER={type:3,value:"CONDENSERWATER"},Ue.CONTROL={type:3,value:"CONTROL"},Ue.CONVEYING={type:3,value:"CONVEYING"},Ue.DATA={type:3,value:"DATA"},Ue.DISPOSAL={type:3,value:"DISPOSAL"},Ue.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},Ue.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},Ue.DRAINAGE={type:3,value:"DRAINAGE"},Ue.EARTHING={type:3,value:"EARTHING"},Ue.ELECTRICAL={type:3,value:"ELECTRICAL"},Ue.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},Ue.EXHAUST={type:3,value:"EXHAUST"},Ue.FIREPROTECTION={type:3,value:"FIREPROTECTION"},Ue.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"},Ue.FUEL={type:3,value:"FUEL"},Ue.GAS={type:3,value:"GAS"},Ue.HAZARDOUS={type:3,value:"HAZARDOUS"},Ue.HEATING={type:3,value:"HEATING"},Ue.LIGHTING={type:3,value:"LIGHTING"},Ue.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},Ue.MOBILENETWORK={type:3,value:"MOBILENETWORK"},Ue.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"},Ue.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},Ue.OIL={type:3,value:"OIL"},Ue.OPERATIONAL={type:3,value:"OPERATIONAL"},Ue.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"},Ue.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"},Ue.POWERGENERATION={type:3,value:"POWERGENERATION"},Ue.RAINWATER={type:3,value:"RAINWATER"},Ue.REFRIGERATION={type:3,value:"REFRIGERATION"},Ue.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"},Ue.SECURITY={type:3,value:"SECURITY"},Ue.SEWAGE={type:3,value:"SEWAGE"},Ue.SIGNAL={type:3,value:"SIGNAL"},Ue.STORMWATER={type:3,value:"STORMWATER"},Ue.TELEPHONE={type:3,value:"TELEPHONE"},Ue.TV={type:3,value:"TV"},Ue.VACUUM={type:3,value:"VACUUM"},Ue.VENT={type:3,value:"VENT"},Ue.VENTILATION={type:3,value:"VENTILATION"},Ue.WASTEWATER={type:3,value:"WASTEWATER"},Ue.WATERSUPPLY={type:3,value:"WATERSUPPLY"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let we=Ue;t.IfcDistributionSystemEnum=we;const Ge=class{};Ge.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Ge.PERSONAL={type:3,value:"PERSONAL"},Ge.PUBLIC={type:3,value:"PUBLIC"},Ge.RESTRICTED={type:3,value:"RESTRICTED"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"};let He=Ge;t.IfcDocumentConfidentialityEnum=He;const Be=class{};Be.DRAFT={type:3,value:"DRAFT"},Be.FINAL={type:3,value:"FINAL"},Be.FINALDRAFT={type:3,value:"FINALDRAFT"},Be.REVISION={type:3,value:"REVISION"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ve=Be;t.IfcDocumentStatusEnum=Ve;const We=class{};We.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},We.FIXEDPANEL={type:3,value:"FIXEDPANEL"},We.FOLDING={type:3,value:"FOLDING"},We.REVOLVING={type:3,value:"REVOLVING"},We.ROLLINGUP={type:3,value:"ROLLINGUP"},We.SLIDING={type:3,value:"SLIDING"},We.SWINGING={type:3,value:"SWINGING"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"};let je=We;t.IfcDoorPanelOperationEnum=je;const Ye=class{};Ye.LEFT={type:3,value:"LEFT"},Ye.MIDDLE={type:3,value:"MIDDLE"},Ye.RIGHT={type:3,value:"RIGHT"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"};let ze=Ye;t.IfcDoorPanelPositionEnum=ze;const ke=class{};ke.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"},ke.DOOR={type:3,value:"DOOR"},ke.GATE={type:3,value:"GATE"},ke.TRAPDOOR={type:3,value:"TRAPDOOR"},ke.TURNSTILE={type:3,value:"TURNSTILE"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xe=ke;t.IfcDoorTypeEnum=Xe;const Ke=class{};Ke.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Ke.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Ke.DOUBLE_DOOR_LIFTING_VERTICAL={type:3,value:"DOUBLE_DOOR_LIFTING_VERTICAL"},Ke.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Ke.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Ke.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Ke.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Ke.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Ke.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Ke.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Ke.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Ke.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"},Ke.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"},Ke.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"},Ke.REVOLVING={type:3,value:"REVOLVING"},Ke.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"},Ke.ROLLINGUP={type:3,value:"ROLLINGUP"},Ke.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Ke.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Ke.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Ke.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Ke.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Ke.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ze=Ke;t.IfcDoorTypeOperationEnum=Ze;const qe=class{};qe.BEND={type:3,value:"BEND"},qe.CONNECTOR={type:3,value:"CONNECTOR"},qe.ENTRY={type:3,value:"ENTRY"},qe.EXIT={type:3,value:"EXIT"},qe.JUNCTION={type:3,value:"JUNCTION"},qe.OBSTRUCTION={type:3,value:"OBSTRUCTION"},qe.TRANSITION={type:3,value:"TRANSITION"},qe.USERDEFINED={type:3,value:"USERDEFINED"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qe=qe;t.IfcDuctFittingTypeEnum=Qe;const Je=class{};Je.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Je.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"};let $e=Je;t.IfcDuctSegmentTypeEnum=$e;const ts=class{};ts.FLATOVAL={type:3,value:"FLATOVAL"},ts.RECTANGULAR={type:3,value:"RECTANGULAR"},ts.ROUND={type:3,value:"ROUND"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let es=ts;t.IfcDuctSilencerTypeEnum=es;const ss=class{};ss.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"},ss.CUT={type:3,value:"CUT"},ss.DREDGING={type:3,value:"DREDGING"},ss.EXCAVATION={type:3,value:"EXCAVATION"},ss.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"},ss.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"},ss.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"},ss.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"},ss.TRENCH={type:3,value:"TRENCH"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let is=ss;t.IfcEarthworksCutTypeEnum=is;const rs=class{};rs.BACKFILL={type:3,value:"BACKFILL"},rs.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"},rs.EMBANKMENT={type:3,value:"EMBANKMENT"},rs.SLOPEFILL={type:3,value:"SLOPEFILL"},rs.SUBGRADE={type:3,value:"SUBGRADE"},rs.SUBGRADEBED={type:3,value:"SUBGRADEBED"},rs.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"};let ns=rs;t.IfcEarthworksFillTypeEnum=ns;const as=class{};as.DISHWASHER={type:3,value:"DISHWASHER"},as.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},as.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},as.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},as.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},as.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},as.FREEZER={type:3,value:"FREEZER"},as.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},as.HANDDRYER={type:3,value:"HANDDRYER"},as.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},as.MICROWAVE={type:3,value:"MICROWAVE"},as.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},as.REFRIGERATOR={type:3,value:"REFRIGERATOR"},as.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},as.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},as.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"};let os=as;t.IfcElectricApplianceTypeEnum=os;const hs=class{};hs.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},hs.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},hs.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},hs.SWITCHBOARD={type:3,value:"SWITCHBOARD"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let cs=hs;t.IfcElectricDistributionBoardTypeEnum=cs;const ls=class{};ls.BATTERY={type:3,value:"BATTERY"},ls.CAPACITOR={type:3,value:"CAPACITOR"},ls.CAPACITORBANK={type:3,value:"CAPACITORBANK"},ls.COMPENSATOR={type:3,value:"COMPENSATOR"},ls.HARMONICFILTER={type:3,value:"HARMONICFILTER"},ls.INDUCTOR={type:3,value:"INDUCTOR"},ls.INDUCTORBANK={type:3,value:"INDUCTORBANK"},ls.RECHARGER={type:3,value:"RECHARGER"},ls.UPS={type:3,value:"UPS"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let ps=ls;t.IfcElectricFlowStorageDeviceTypeEnum=ps;const us=class{};us.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"};let Es=us;t.IfcElectricFlowTreatmentDeviceTypeEnum=Es;const Is=class{};Is.CHP={type:3,value:"CHP"},Is.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Is.STANDALONE={type:3,value:"STANDALONE"},Is.USERDEFINED={type:3,value:"USERDEFINED"},Is.NOTDEFINED={type:3,value:"NOTDEFINED"};let ys=Is;t.IfcElectricGeneratorTypeEnum=ys;const Ts=class{};Ts.DC={type:3,value:"DC"},Ts.INDUCTION={type:3,value:"INDUCTION"},Ts.POLYPHASE={type:3,value:"POLYPHASE"},Ts.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Ts.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Ts.USERDEFINED={type:3,value:"USERDEFINED"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let ds=Ts;t.IfcElectricMotorTypeEnum=ds;const Ns=class{};Ns.RELAY={type:3,value:"RELAY"},Ns.TIMECLOCK={type:3,value:"TIMECLOCK"},Ns.TIMEDELAY={type:3,value:"TIMEDELAY"},Ns.USERDEFINED={type:3,value:"USERDEFINED"},Ns.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rs=Ns;t.IfcElectricTimeControlTypeEnum=Rs;const fs=class{};fs.ABUTMENT={type:3,value:"ABUTMENT"},fs.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},fs.ARCH={type:3,value:"ARCH"},fs.BEAM_GRID={type:3,value:"BEAM_GRID"},fs.BRACED_FRAME={type:3,value:"BRACED_FRAME"},fs.CROSS_BRACING={type:3,value:"CROSS_BRACING"},fs.DECK={type:3,value:"DECK"},fs.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"},fs.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"},fs.GIRDER={type:3,value:"GIRDER"},fs.GRID={type:3,value:"GRID"},fs.MAST={type:3,value:"MAST"},fs.PIER={type:3,value:"PIER"},fs.PYLON={type:3,value:"PYLON"},fs.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"},fs.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},fs.RIGID_FRAME={type:3,value:"RIGID_FRAME"},fs.SHELTER={type:3,value:"SHELTER"},fs.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"},fs.SLAB_FIELD={type:3,value:"SLAB_FIELD"},fs.SUMPBUSTER={type:3,value:"SUMPBUSTER"},fs.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"},fs.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"},fs.TRACKPANEL={type:3,value:"TRACKPANEL"},fs.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"},fs.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"},fs.TRUSS={type:3,value:"TRUSS"},fs.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"},fs.USERDEFINED={type:3,value:"USERDEFINED"},fs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Os=fs;t.IfcElementAssemblyTypeEnum=Os;const Ds=class{};Ds.COMPLEX={type:3,value:"COMPLEX"},Ds.ELEMENT={type:3,value:"ELEMENT"},Ds.PARTIAL={type:3,value:"PARTIAL"};let ms=Ds;t.IfcElementCompositionEnum=ms;const As=class{};As.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},As.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ss=As;t.IfcEngineTypeEnum=Ss;const Cs=class{};Cs.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Cs.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Cs.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Cs.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Cs.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Cs.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Cs.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Cs.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Cs.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let vs=Cs;t.IfcEvaporativeCoolerTypeEnum=vs;const Ls=class{};Ls.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},Ls.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ls.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ls.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ls.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ls.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let bs=Ls;t.IfcEvaporatorTypeEnum=bs;const Ps=class{};Ps.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},Ps.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},Ps.EVENTRULE={type:3,value:"EVENTRULE"},Ps.EVENTTIME={type:3,value:"EVENTTIME"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"};let gs=Ps;t.IfcEventTriggerTypeEnum=gs;const xs=class{};xs.ENDEVENT={type:3,value:"ENDEVENT"},xs.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},xs.STARTEVENT={type:3,value:"STARTEVENT"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"};let _s=xs;t.IfcEventTypeEnum=_s;const Ms=class{};Ms.EXTERNAL={type:3,value:"EXTERNAL"},Ms.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Ms.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Ms.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fs=Ms;t.IfcExternalSpatialElementTypeEnum=Fs;const Us=class{};Us.ABOVEGROUND={type:3,value:"ABOVEGROUND"},Us.BELOWGROUND={type:3,value:"BELOWGROUND"},Us.JUNCTION={type:3,value:"JUNCTION"},Us.LEVELCROSSING={type:3,value:"LEVELCROSSING"},Us.SEGMENT={type:3,value:"SEGMENT"},Us.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},Us.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},Us.TERMINAL={type:3,value:"TERMINAL"},Us.USERDEFINED={type:3,value:"USERDEFINED"},Us.NOTDEFINED={type:3,value:"NOTDEFINED"};let ws=Us;t.IfcFacilityPartCommonTypeEnum=ws;const Gs=class{};Gs.LATERAL={type:3,value:"LATERAL"},Gs.LONGITUDINAL={type:3,value:"LONGITUDINAL"},Gs.REGION={type:3,value:"REGION"},Gs.VERTICAL={type:3,value:"VERTICAL"},Gs.USERDEFINED={type:3,value:"USERDEFINED"},Gs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hs=Gs;t.IfcFacilityUsageEnum=Hs;const Bs=class{};Bs.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Bs.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Bs.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Bs.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Bs.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Bs.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Bs.VANEAXIAL={type:3,value:"VANEAXIAL"},Bs.USERDEFINED={type:3,value:"USERDEFINED"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vs=Bs;t.IfcFanTypeEnum=Vs;const Ws=class{};Ws.GLUE={type:3,value:"GLUE"},Ws.MORTAR={type:3,value:"MORTAR"},Ws.WELD={type:3,value:"WELD"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"};let js=Ws;t.IfcFastenerTypeEnum=js;const Ys=class{};Ys.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Ys.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},Ys.ODORFILTER={type:3,value:"ODORFILTER"},Ys.OILFILTER={type:3,value:"OILFILTER"},Ys.STRAINER={type:3,value:"STRAINER"},Ys.WATERFILTER={type:3,value:"WATERFILTER"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"};let zs=Ys;t.IfcFilterTypeEnum=zs;const ks=class{};ks.BREECHINGINLET={type:3,value:"BREECHINGINLET"},ks.FIREHYDRANT={type:3,value:"FIREHYDRANT"},ks.FIREMONITOR={type:3,value:"FIREMONITOR"},ks.HOSEREEL={type:3,value:"HOSEREEL"},ks.SPRINKLER={type:3,value:"SPRINKLER"},ks.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},ks.USERDEFINED={type:3,value:"USERDEFINED"},ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xs=ks;t.IfcFireSuppressionTerminalTypeEnum=Xs;const Ks=class{};Ks.SINK={type:3,value:"SINK"},Ks.SOURCE={type:3,value:"SOURCE"},Ks.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zs=Ks;t.IfcFlowDirectionEnum=Zs;const qs=class{};qs.AMMETER={type:3,value:"AMMETER"},qs.COMBINED={type:3,value:"COMBINED"},qs.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},qs.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},qs.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},qs.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},qs.THERMOMETER={type:3,value:"THERMOMETER"},qs.VOLTMETER={type:3,value:"VOLTMETER"},qs.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},qs.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},qs.USERDEFINED={type:3,value:"USERDEFINED"},qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qs=qs;t.IfcFlowInstrumentTypeEnum=Qs;const Js=class{};Js.ENERGYMETER={type:3,value:"ENERGYMETER"},Js.GASMETER={type:3,value:"GASMETER"},Js.OILMETER={type:3,value:"OILMETER"},Js.WATERMETER={type:3,value:"WATERMETER"},Js.USERDEFINED={type:3,value:"USERDEFINED"},Js.NOTDEFINED={type:3,value:"NOTDEFINED"};let $s=Js;t.IfcFlowMeterTypeEnum=$s;const ti=class{};ti.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},ti.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},ti.PAD_FOOTING={type:3,value:"PAD_FOOTING"},ti.PILE_CAP={type:3,value:"PILE_CAP"},ti.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let ei=ti;t.IfcFootingTypeEnum=ei;const si=class{};si.BED={type:3,value:"BED"},si.CHAIR={type:3,value:"CHAIR"},si.DESK={type:3,value:"DESK"},si.FILECABINET={type:3,value:"FILECABINET"},si.SHELF={type:3,value:"SHELF"},si.SOFA={type:3,value:"SOFA"},si.TABLE={type:3,value:"TABLE"},si.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"};let ii=si;t.IfcFurnitureTypeEnum=ii;const ri=class{};ri.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"},ri.TERRAIN={type:3,value:"TERRAIN"},ri.VEGETATION={type:3,value:"VEGETATION"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"};let ni=ri;t.IfcGeographicElementTypeEnum=ni;const ai=class{};ai.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},ai.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},ai.MODEL_VIEW={type:3,value:"MODEL_VIEW"},ai.PLAN_VIEW={type:3,value:"PLAN_VIEW"},ai.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},ai.SECTION_VIEW={type:3,value:"SECTION_VIEW"},ai.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let oi=ai;t.IfcGeometricProjectionEnum=oi;const hi=class{};hi.SOLID={type:3,value:"SOLID"},hi.VOID={type:3,value:"VOID"},hi.WATER={type:3,value:"WATER"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ci=hi;t.IfcGeotechnicalStratumTypeEnum=ci;const li=class{};li.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},li.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};let pi=li;t.IfcGlobalOrLocalEnum=pi;const ui=class{};ui.IRREGULAR={type:3,value:"IRREGULAR"},ui.RADIAL={type:3,value:"RADIAL"},ui.RECTANGULAR={type:3,value:"RECTANGULAR"},ui.TRIANGULAR={type:3,value:"TRIANGULAR"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ei=ui;t.IfcGridTypeEnum=Ei;const Ii=class{};Ii.PLATE={type:3,value:"PLATE"},Ii.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Ii.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let yi=Ii;t.IfcHeatExchangerTypeEnum=yi;const Ti=class{};Ti.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Ti.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Ti.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Ti.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Ti.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Ti.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Ti.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Ti.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Ti.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Ti.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Ti.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Ti.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Ti.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let di=Ti;t.IfcHumidifierTypeEnum=di;const Ni=class{};Ni.BUMPER={type:3,value:"BUMPER"},Ni.CRASHCUSHION={type:3,value:"CRASHCUSHION"},Ni.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"},Ni.FENDER={type:3,value:"FENDER"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ri=Ni;t.IfcImpactProtectionDeviceTypeEnum=Ri;const fi=class{};fi.CYCLONIC={type:3,value:"CYCLONIC"},fi.GREASE={type:3,value:"GREASE"},fi.OIL={type:3,value:"OIL"},fi.PETROL={type:3,value:"PETROL"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oi=fi;t.IfcInterceptorTypeEnum=Oi;const Di=class{};Di.EXTERNAL={type:3,value:"EXTERNAL"},Di.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Di.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Di.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Di.INTERNAL={type:3,value:"INTERNAL"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"};let mi=Di;t.IfcInternalOrExternalEnum=mi;const Ai=class{};Ai.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Ai.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Ai.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let Si=Ai;t.IfcInventoryTypeEnum=Si;const Ci=class{};Ci.DATA={type:3,value:"DATA"},Ci.POWER={type:3,value:"POWER"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"};let vi=Ci;t.IfcJunctionBoxTypeEnum=vi;const Li=class{};Li.USERDEFINED={type:3,value:"USERDEFINED"},Li.NOTDEFINED={type:3,value:"NOTDEFINED"};let bi=Li;t.IfcKerbTypeEnum=bi;const Pi=class{};Pi.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Pi.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Pi.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Pi.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let gi=Pi;t.IfcKnotType=gi;const xi=class{};xi.ADMINISTRATION={type:3,value:"ADMINISTRATION"},xi.CARPENTRY={type:3,value:"CARPENTRY"},xi.CLEANING={type:3,value:"CLEANING"},xi.CONCRETE={type:3,value:"CONCRETE"},xi.DRYWALL={type:3,value:"DRYWALL"},xi.ELECTRIC={type:3,value:"ELECTRIC"},xi.FINISHING={type:3,value:"FINISHING"},xi.FLOORING={type:3,value:"FLOORING"},xi.GENERAL={type:3,value:"GENERAL"},xi.HVAC={type:3,value:"HVAC"},xi.LANDSCAPING={type:3,value:"LANDSCAPING"},xi.MASONRY={type:3,value:"MASONRY"},xi.PAINTING={type:3,value:"PAINTING"},xi.PAVING={type:3,value:"PAVING"},xi.PLUMBING={type:3,value:"PLUMBING"},xi.ROOFING={type:3,value:"ROOFING"},xi.SITEGRADING={type:3,value:"SITEGRADING"},xi.STEELWORK={type:3,value:"STEELWORK"},xi.SURVEYING={type:3,value:"SURVEYING"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"};let _i=xi;t.IfcLaborResourceTypeEnum=_i;const Mi=class{};Mi.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Mi.FLUORESCENT={type:3,value:"FLUORESCENT"},Mi.HALOGEN={type:3,value:"HALOGEN"},Mi.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Mi.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Mi.LED={type:3,value:"LED"},Mi.METALHALIDE={type:3,value:"METALHALIDE"},Mi.OLED={type:3,value:"OLED"},Mi.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fi=Mi;t.IfcLampTypeEnum=Fi;const Ui=class{};Ui.AXIS1={type:3,value:"AXIS1"},Ui.AXIS2={type:3,value:"AXIS2"},Ui.AXIS3={type:3,value:"AXIS3"};let wi=Ui;t.IfcLayerSetDirectionEnum=wi;const Gi=class{};Gi.TYPE_A={type:3,value:"TYPE_A"},Gi.TYPE_B={type:3,value:"TYPE_B"},Gi.TYPE_C={type:3,value:"TYPE_C"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hi=Gi;t.IfcLightDistributionCurveEnum=Hi;const Bi=class{};Bi.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Bi.FLUORESCENT={type:3,value:"FLUORESCENT"},Bi.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Bi.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Bi.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Bi.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Bi.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Bi.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Bi.METALHALIDE={type:3,value:"METALHALIDE"},Bi.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vi=Bi;t.IfcLightEmissionSourceEnum=Vi;const Wi=class{};Wi.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},Wi.POINTSOURCE={type:3,value:"POINTSOURCE"},Wi.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},Wi.USERDEFINED={type:3,value:"USERDEFINED"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ji=Wi;t.IfcLightFixtureTypeEnum=ji;const Yi=class{};Yi.HOSEREEL={type:3,value:"HOSEREEL"},Yi.LOADINGARM={type:3,value:"LOADINGARM"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"};let zi=Yi;t.IfcLiquidTerminalTypeEnum=zi;const ki=class{};ki.LOAD_CASE={type:3,value:"LOAD_CASE"},ki.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},ki.LOAD_GROUP={type:3,value:"LOAD_GROUP"},ki.USERDEFINED={type:3,value:"USERDEFINED"},ki.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xi=ki;t.IfcLoadGroupTypeEnum=Xi;const Ki=class{};Ki.LOGICALAND={type:3,value:"LOGICALAND"},Ki.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Ki.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},Ki.LOGICALOR={type:3,value:"LOGICALOR"},Ki.LOGICALXOR={type:3,value:"LOGICALXOR"};let Zi=Ki;t.IfcLogicalOperatorEnum=Zi;const qi=class{};qi.BARRIERBEACH={type:3,value:"BARRIERBEACH"},qi.BREAKWATER={type:3,value:"BREAKWATER"},qi.CANAL={type:3,value:"CANAL"},qi.DRYDOCK={type:3,value:"DRYDOCK"},qi.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"},qi.HYDROLIFT={type:3,value:"HYDROLIFT"},qi.JETTY={type:3,value:"JETTY"},qi.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"},qi.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"},qi.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"},qi.PORT={type:3,value:"PORT"},qi.QUAY={type:3,value:"QUAY"},qi.REVETMENT={type:3,value:"REVETMENT"},qi.SHIPLIFT={type:3,value:"SHIPLIFT"},qi.SHIPLOCK={type:3,value:"SHIPLOCK"},qi.SHIPYARD={type:3,value:"SHIPYARD"},qi.SLIPWAY={type:3,value:"SLIPWAY"},qi.WATERWAY={type:3,value:"WATERWAY"},qi.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"},qi.USERDEFINED={type:3,value:"USERDEFINED"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qi=qi;t.IfcMarineFacilityTypeEnum=Qi;const Ji=class{};Ji.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"},Ji.ANCHORAGE={type:3,value:"ANCHORAGE"},Ji.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"},Ji.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"},Ji.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"},Ji.CHAMBER={type:3,value:"CHAMBER"},Ji.CILL_LEVEL={type:3,value:"CILL_LEVEL"},Ji.COPELEVEL={type:3,value:"COPELEVEL"},Ji.CORE={type:3,value:"CORE"},Ji.CREST={type:3,value:"CREST"},Ji.GATEHEAD={type:3,value:"GATEHEAD"},Ji.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"},Ji.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"},Ji.LANDFIELD={type:3,value:"LANDFIELD"},Ji.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"},Ji.LOWWATERLINE={type:3,value:"LOWWATERLINE"},Ji.MANUFACTURING={type:3,value:"MANUFACTURING"},Ji.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"},Ji.PROTECTION={type:3,value:"PROTECTION"},Ji.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"},Ji.STORAGEAREA={type:3,value:"STORAGEAREA"},Ji.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"},Ji.WATERFIELD={type:3,value:"WATERFIELD"},Ji.WEATHERSIDE={type:3,value:"WEATHERSIDE"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"};let $i=Ji;t.IfcMarinePartTypeEnum=$i;const tr=class{};tr.ANCHORBOLT={type:3,value:"ANCHORBOLT"},tr.BOLT={type:3,value:"BOLT"},tr.CHAIN={type:3,value:"CHAIN"},tr.COUPLER={type:3,value:"COUPLER"},tr.DOWEL={type:3,value:"DOWEL"},tr.NAIL={type:3,value:"NAIL"},tr.NAILPLATE={type:3,value:"NAILPLATE"},tr.RAILFASTENING={type:3,value:"RAILFASTENING"},tr.RAILJOINT={type:3,value:"RAILJOINT"},tr.RIVET={type:3,value:"RIVET"},tr.ROPE={type:3,value:"ROPE"},tr.SCREW={type:3,value:"SCREW"},tr.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},tr.STAPLE={type:3,value:"STAPLE"},tr.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let er=tr;t.IfcMechanicalFastenerTypeEnum=er;const sr=class{};sr.AIRSTATION={type:3,value:"AIRSTATION"},sr.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},sr.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},sr.OXYGENPLANT={type:3,value:"OXYGENPLANT"},sr.VACUUMSTATION={type:3,value:"VACUUMSTATION"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"};let ir=sr;t.IfcMedicalDeviceTypeEnum=ir;const rr=class{};rr.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"},rr.BRACE={type:3,value:"BRACE"},rr.CHORD={type:3,value:"CHORD"},rr.COLLAR={type:3,value:"COLLAR"},rr.MEMBER={type:3,value:"MEMBER"},rr.MULLION={type:3,value:"MULLION"},rr.PLATE={type:3,value:"PLATE"},rr.POST={type:3,value:"POST"},rr.PURLIN={type:3,value:"PURLIN"},rr.RAFTER={type:3,value:"RAFTER"},rr.STAY_CABLE={type:3,value:"STAY_CABLE"},rr.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"},rr.STRINGER={type:3,value:"STRINGER"},rr.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"},rr.STRUT={type:3,value:"STRUT"},rr.STUD={type:3,value:"STUD"},rr.SUSPENDER={type:3,value:"SUSPENDER"},rr.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"},rr.TIEBAR={type:3,value:"TIEBAR"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"};let nr=rr;t.IfcMemberTypeEnum=nr;const ar=class{};ar.ACCESSPOINT={type:3,value:"ACCESSPOINT"},ar.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"},ar.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"},ar.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"},ar.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"},ar.MASTERUNIT={type:3,value:"MASTERUNIT"},ar.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"},ar.MSCSERVER={type:3,value:"MSCSERVER"},ar.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"},ar.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"},ar.REMOTEUNIT={type:3,value:"REMOTEUNIT"},ar.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"},ar.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let or=ar;t.IfcMobileTelecommunicationsApplianceTypeEnum=or;const hr=class{};hr.BOLLARD={type:3,value:"BOLLARD"},hr.LINETENSIONER={type:3,value:"LINETENSIONER"},hr.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"},hr.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"},hr.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"};let cr=hr;t.IfcMooringDeviceTypeEnum=cr;const lr=class{};lr.BELTDRIVE={type:3,value:"BELTDRIVE"},lr.COUPLING={type:3,value:"COUPLING"},lr.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let pr=lr;t.IfcMotorConnectionTypeEnum=pr;const ur=class{};ur.BEACON={type:3,value:"BEACON"},ur.BUOY={type:3,value:"BUOY"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let Er=ur;t.IfcNavigationElementTypeEnum=Er;const Ir=class{};Ir.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Ir.CODEWAIVER={type:3,value:"CODEWAIVER"},Ir.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Ir.EXTERNAL={type:3,value:"EXTERNAL"},Ir.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Ir.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Ir.MODELVIEW={type:3,value:"MODELVIEW"},Ir.PARAMETER={type:3,value:"PARAMETER"},Ir.REQUIREMENT={type:3,value:"REQUIREMENT"},Ir.SPECIFICATION={type:3,value:"SPECIFICATION"},Ir.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"};let yr=Ir;t.IfcObjectiveEnum=yr;const Tr=class{};Tr.ASSIGNEE={type:3,value:"ASSIGNEE"},Tr.ASSIGNOR={type:3,value:"ASSIGNOR"},Tr.LESSEE={type:3,value:"LESSEE"},Tr.LESSOR={type:3,value:"LESSOR"},Tr.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Tr.OWNER={type:3,value:"OWNER"},Tr.TENANT={type:3,value:"TENANT"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let dr=Tr;t.IfcOccupantTypeEnum=dr;const Nr=class{};Nr.OPENING={type:3,value:"OPENING"},Nr.RECESS={type:3,value:"RECESS"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rr=Nr;t.IfcOpeningElementTypeEnum=Rr;const fr=class{};fr.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},fr.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},fr.DATAOUTLET={type:3,value:"DATAOUTLET"},fr.POWEROUTLET={type:3,value:"POWEROUTLET"},fr.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Or=fr;t.IfcOutletTypeEnum=Or;const Dr=class{};Dr.FLEXIBLE={type:3,value:"FLEXIBLE"},Dr.RIGID={type:3,value:"RIGID"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"};let mr=Dr;t.IfcPavementTypeEnum=mr;const Ar=class{};Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sr=Ar;t.IfcPerformanceHistoryTypeEnum=Sr;const Cr=class{};Cr.GRILL={type:3,value:"GRILL"},Cr.LOUVER={type:3,value:"LOUVER"},Cr.SCREEN={type:3,value:"SCREEN"},Cr.USERDEFINED={type:3,value:"USERDEFINED"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"};let vr=Cr;t.IfcPermeableCoveringOperationEnum=vr;const Lr=class{};Lr.ACCESS={type:3,value:"ACCESS"},Lr.BUILDING={type:3,value:"BUILDING"},Lr.WORK={type:3,value:"WORK"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let br=Lr;t.IfcPermitTypeEnum=br;const Pr=class{};Pr.PHYSICAL={type:3,value:"PHYSICAL"},Pr.VIRTUAL={type:3,value:"VIRTUAL"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"};let gr=Pr;t.IfcPhysicalOrVirtualEnum=gr;const xr=class{};xr.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},xr.COMPOSITE={type:3,value:"COMPOSITE"},xr.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},xr.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"};let _r=xr;t.IfcPileConstructionEnum=_r;const Mr=class{};Mr.BORED={type:3,value:"BORED"},Mr.COHESION={type:3,value:"COHESION"},Mr.DRIVEN={type:3,value:"DRIVEN"},Mr.FRICTION={type:3,value:"FRICTION"},Mr.JETGROUTING={type:3,value:"JETGROUTING"},Mr.SUPPORT={type:3,value:"SUPPORT"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fr=Mr;t.IfcPileTypeEnum=Fr;const Ur=class{};Ur.BEND={type:3,value:"BEND"},Ur.CONNECTOR={type:3,value:"CONNECTOR"},Ur.ENTRY={type:3,value:"ENTRY"},Ur.EXIT={type:3,value:"EXIT"},Ur.JUNCTION={type:3,value:"JUNCTION"},Ur.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Ur.TRANSITION={type:3,value:"TRANSITION"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let wr=Ur;t.IfcPipeFittingTypeEnum=wr;const Gr=class{};Gr.CULVERT={type:3,value:"CULVERT"},Gr.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Gr.GUTTER={type:3,value:"GUTTER"},Gr.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Gr.SPOOL={type:3,value:"SPOOL"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hr=Gr;t.IfcPipeSegmentTypeEnum=Hr;const Br=class{};Br.BASE_PLATE={type:3,value:"BASE_PLATE"},Br.COVER_PLATE={type:3,value:"COVER_PLATE"},Br.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Br.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"},Br.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"},Br.SHEET={type:3,value:"SHEET"},Br.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"},Br.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"},Br.WEB_PLATE={type:3,value:"WEB_PLATE"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vr=Br;t.IfcPlateTypeEnum=Vr;const Wr=class{};Wr.CURVE3D={type:3,value:"CURVE3D"},Wr.PCURVE_S1={type:3,value:"PCURVE_S1"},Wr.PCURVE_S2={type:3,value:"PCURVE_S2"};let jr=Wr;t.IfcPreferredSurfaceCurveRepresentation=jr;const Yr=class{};Yr.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Yr.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Yr.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Yr.CALIBRATION={type:3,value:"CALIBRATION"},Yr.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Yr.SHUTDOWN={type:3,value:"SHUTDOWN"},Yr.STARTUP={type:3,value:"STARTUP"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let zr=Yr;t.IfcProcedureTypeEnum=zr;const kr=class{};kr.AREA={type:3,value:"AREA"},kr.CURVE={type:3,value:"CURVE"};let Xr=kr;t.IfcProfileTypeEnum=Xr;const Kr=class{};Kr.CHANGEORDER={type:3,value:"CHANGEORDER"},Kr.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},Kr.MOVEORDER={type:3,value:"MOVEORDER"},Kr.PURCHASEORDER={type:3,value:"PURCHASEORDER"},Kr.WORKORDER={type:3,value:"WORKORDER"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zr=Kr;t.IfcProjectOrderTypeEnum=Zr;const qr=class{};qr.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},qr.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};let Qr=qr;t.IfcProjectedOrTrueLengthEnum=Qr;const Jr=class{};Jr.BLISTER={type:3,value:"BLISTER"},Jr.DEVIATOR={type:3,value:"DEVIATOR"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"};let $r=Jr;t.IfcProjectionElementTypeEnum=$r;const tn=class{};tn.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"},tn.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},tn.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},tn.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"},tn.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},tn.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},tn.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},tn.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},tn.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"};let en=tn;t.IfcPropertySetTemplateTypeEnum=en;const sn=class{};sn.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},sn.ELECTRONIC={type:3,value:"ELECTRONIC"},sn.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},sn.THERMAL={type:3,value:"THERMAL"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let rn=sn;t.IfcProtectiveDeviceTrippingUnitTypeEnum=rn;const nn=class{};nn.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"},nn.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},nn.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},nn.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},nn.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},nn.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},nn.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},nn.SPARKGAP={type:3,value:"SPARKGAP"},nn.VARISTOR={type:3,value:"VARISTOR"},nn.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"};let an=nn;t.IfcProtectiveDeviceTypeEnum=an;const on=class{};on.CIRCULATOR={type:3,value:"CIRCULATOR"},on.ENDSUCTION={type:3,value:"ENDSUCTION"},on.SPLITCASE={type:3,value:"SPLITCASE"},on.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},on.SUMPPUMP={type:3,value:"SUMPPUMP"},on.VERTICALINLINE={type:3,value:"VERTICALINLINE"},on.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"};let hn=on;t.IfcPumpTypeEnum=hn;const cn=class{};cn.BLADE={type:3,value:"BLADE"},cn.CHECKRAIL={type:3,value:"CHECKRAIL"},cn.GUARDRAIL={type:3,value:"GUARDRAIL"},cn.RACKRAIL={type:3,value:"RACKRAIL"},cn.RAIL={type:3,value:"RAIL"},cn.STOCKRAIL={type:3,value:"STOCKRAIL"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"};let ln=cn;t.IfcRailTypeEnum=ln;const pn=class{};pn.BALUSTRADE={type:3,value:"BALUSTRADE"},pn.FENCE={type:3,value:"FENCE"},pn.GUARDRAIL={type:3,value:"GUARDRAIL"},pn.HANDRAIL={type:3,value:"HANDRAIL"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"};let un=pn;t.IfcRailingTypeEnum=un;const En=class{};En.ABOVETRACK={type:3,value:"ABOVETRACK"},En.DILATIONTRACK={type:3,value:"DILATIONTRACK"},En.LINESIDE={type:3,value:"LINESIDE"},En.LINESIDEPART={type:3,value:"LINESIDEPART"},En.PLAINTRACK={type:3,value:"PLAINTRACK"},En.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},En.TRACK={type:3,value:"TRACK"},En.TRACKPART={type:3,value:"TRACKPART"},En.TURNOUTTRACK={type:3,value:"TURNOUTTRACK"},En.USERDEFINED={type:3,value:"USERDEFINED"},En.NOTDEFINED={type:3,value:"NOTDEFINED"};let In=En;t.IfcRailwayPartTypeEnum=In;const yn=class{};yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Tn=yn;t.IfcRailwayTypeEnum=Tn;const dn=class{};dn.SPIRAL={type:3,value:"SPIRAL"},dn.STRAIGHT={type:3,value:"STRAIGHT"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Nn=dn;t.IfcRampFlightTypeEnum=Nn;const Rn=class{};Rn.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Rn.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Rn.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Rn.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Rn.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Rn.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"};let fn=Rn;t.IfcRampTypeEnum=fn;const On=class{};On.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},On.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},On.DAILY={type:3,value:"DAILY"},On.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},On.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},On.WEEKLY={type:3,value:"WEEKLY"},On.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},On.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"};let Dn=On;t.IfcRecurrenceTypeEnum=Dn;const mn=class{};mn.BOUNDARY={type:3,value:"BOUNDARY"},mn.INTERSECTION={type:3,value:"INTERSECTION"},mn.KILOPOINT={type:3,value:"KILOPOINT"},mn.LANDMARK={type:3,value:"LANDMARK"},mn.MILEPOINT={type:3,value:"MILEPOINT"},mn.POSITION={type:3,value:"POSITION"},mn.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"},mn.STATION={type:3,value:"STATION"},mn.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"},mn.WIDTHEVENT={type:3,value:"WIDTHEVENT"},mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"};let An=mn;t.IfcReferentTypeEnum=An;const Sn=class{};Sn.BLINN={type:3,value:"BLINN"},Sn.FLAT={type:3,value:"FLAT"},Sn.GLASS={type:3,value:"GLASS"},Sn.MATT={type:3,value:"MATT"},Sn.METAL={type:3,value:"METAL"},Sn.MIRROR={type:3,value:"MIRROR"},Sn.PHONG={type:3,value:"PHONG"},Sn.PHYSICAL={type:3,value:"PHYSICAL"},Sn.PLASTIC={type:3,value:"PLASTIC"},Sn.STRAUSS={type:3,value:"STRAUSS"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Cn=Sn;t.IfcReflectanceMethodEnum=Cn;const vn=class{};vn.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"},vn.GROUTED={type:3,value:"GROUTED"},vn.REPLACED={type:3,value:"REPLACED"},vn.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"},vn.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"},vn.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ln=vn;t.IfcReinforcedSoilTypeEnum=Ln;const bn=class{};bn.ANCHORING={type:3,value:"ANCHORING"},bn.EDGE={type:3,value:"EDGE"},bn.LIGATURE={type:3,value:"LIGATURE"},bn.MAIN={type:3,value:"MAIN"},bn.PUNCHING={type:3,value:"PUNCHING"},bn.RING={type:3,value:"RING"},bn.SHEAR={type:3,value:"SHEAR"},bn.STUD={type:3,value:"STUD"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pn=bn;t.IfcReinforcingBarRoleEnum=Pn;const gn=class{};gn.PLAIN={type:3,value:"PLAIN"},gn.TEXTURED={type:3,value:"TEXTURED"};let xn=gn;t.IfcReinforcingBarSurfaceEnum=xn;const _n=class{};_n.ANCHORING={type:3,value:"ANCHORING"},_n.EDGE={type:3,value:"EDGE"},_n.LIGATURE={type:3,value:"LIGATURE"},_n.MAIN={type:3,value:"MAIN"},_n.PUNCHING={type:3,value:"PUNCHING"},_n.RING={type:3,value:"RING"},_n.SHEAR={type:3,value:"SHEAR"},_n.SPACEBAR={type:3,value:"SPACEBAR"},_n.STUD={type:3,value:"STUD"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"};let Mn=_n;t.IfcReinforcingBarTypeEnum=Mn;const Fn=class{};Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Un=Fn;t.IfcReinforcingMeshTypeEnum=Un;const wn=class{};wn.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"},wn.BUS_STOP={type:3,value:"BUS_STOP"},wn.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"},wn.CENTRALISLAND={type:3,value:"CENTRALISLAND"},wn.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"},wn.HARDSHOULDER={type:3,value:"HARDSHOULDER"},wn.INTERSECTION={type:3,value:"INTERSECTION"},wn.LAYBY={type:3,value:"LAYBY"},wn.PARKINGBAY={type:3,value:"PARKINGBAY"},wn.PASSINGBAY={type:3,value:"PASSINGBAY"},wn.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"},wn.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"},wn.REFUGEISLAND={type:3,value:"REFUGEISLAND"},wn.ROADSEGMENT={type:3,value:"ROADSEGMENT"},wn.ROADSIDE={type:3,value:"ROADSIDE"},wn.ROADSIDEPART={type:3,value:"ROADSIDEPART"},wn.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"},wn.ROUNDABOUT={type:3,value:"ROUNDABOUT"},wn.SHOULDER={type:3,value:"SHOULDER"},wn.SIDEWALK={type:3,value:"SIDEWALK"},wn.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"},wn.TOLLPLAZA={type:3,value:"TOLLPLAZA"},wn.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"},wn.TRAFFICLANE={type:3,value:"TRAFFICLANE"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gn=wn;t.IfcRoadPartTypeEnum=Gn;const Hn=class{};Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Bn=Hn;t.IfcRoadTypeEnum=Bn;const Vn=class{};Vn.ARCHITECT={type:3,value:"ARCHITECT"},Vn.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Vn.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Vn.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Vn.CLIENT={type:3,value:"CLIENT"},Vn.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},Vn.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Vn.CONSULTANT={type:3,value:"CONSULTANT"},Vn.CONTRACTOR={type:3,value:"CONTRACTOR"},Vn.COSTENGINEER={type:3,value:"COSTENGINEER"},Vn.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Vn.ENGINEER={type:3,value:"ENGINEER"},Vn.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Vn.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Vn.MANUFACTURER={type:3,value:"MANUFACTURER"},Vn.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Vn.OWNER={type:3,value:"OWNER"},Vn.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Vn.RESELLER={type:3,value:"RESELLER"},Vn.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Vn.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Vn.SUPPLIER={type:3,value:"SUPPLIER"},Vn.USERDEFINED={type:3,value:"USERDEFINED"};let Wn=Vn;t.IfcRoleEnum=Wn;const jn=class{};jn.BARREL_ROOF={type:3,value:"BARREL_ROOF"},jn.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},jn.DOME_ROOF={type:3,value:"DOME_ROOF"},jn.FLAT_ROOF={type:3,value:"FLAT_ROOF"},jn.FREEFORM={type:3,value:"FREEFORM"},jn.GABLE_ROOF={type:3,value:"GABLE_ROOF"},jn.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},jn.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},jn.HIP_ROOF={type:3,value:"HIP_ROOF"},jn.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},jn.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},jn.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},jn.SHED_ROOF={type:3,value:"SHED_ROOF"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Yn=jn;t.IfcRoofTypeEnum=Yn;const zn=class{};zn.ATTO={type:3,value:"ATTO"},zn.CENTI={type:3,value:"CENTI"},zn.DECA={type:3,value:"DECA"},zn.DECI={type:3,value:"DECI"},zn.EXA={type:3,value:"EXA"},zn.FEMTO={type:3,value:"FEMTO"},zn.GIGA={type:3,value:"GIGA"},zn.HECTO={type:3,value:"HECTO"},zn.KILO={type:3,value:"KILO"},zn.MEGA={type:3,value:"MEGA"},zn.MICRO={type:3,value:"MICRO"},zn.MILLI={type:3,value:"MILLI"},zn.NANO={type:3,value:"NANO"},zn.PETA={type:3,value:"PETA"},zn.PICO={type:3,value:"PICO"},zn.TERA={type:3,value:"TERA"};let kn=zn;t.IfcSIPrefix=kn;const Xn=class{};Xn.AMPERE={type:3,value:"AMPERE"},Xn.BECQUEREL={type:3,value:"BECQUEREL"},Xn.CANDELA={type:3,value:"CANDELA"},Xn.COULOMB={type:3,value:"COULOMB"},Xn.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Xn.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Xn.FARAD={type:3,value:"FARAD"},Xn.GRAM={type:3,value:"GRAM"},Xn.GRAY={type:3,value:"GRAY"},Xn.HENRY={type:3,value:"HENRY"},Xn.HERTZ={type:3,value:"HERTZ"},Xn.JOULE={type:3,value:"JOULE"},Xn.KELVIN={type:3,value:"KELVIN"},Xn.LUMEN={type:3,value:"LUMEN"},Xn.LUX={type:3,value:"LUX"},Xn.METRE={type:3,value:"METRE"},Xn.MOLE={type:3,value:"MOLE"},Xn.NEWTON={type:3,value:"NEWTON"},Xn.OHM={type:3,value:"OHM"},Xn.PASCAL={type:3,value:"PASCAL"},Xn.RADIAN={type:3,value:"RADIAN"},Xn.SECOND={type:3,value:"SECOND"},Xn.SIEMENS={type:3,value:"SIEMENS"},Xn.SIEVERT={type:3,value:"SIEVERT"},Xn.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Xn.STERADIAN={type:3,value:"STERADIAN"},Xn.TESLA={type:3,value:"TESLA"},Xn.VOLT={type:3,value:"VOLT"},Xn.WATT={type:3,value:"WATT"},Xn.WEBER={type:3,value:"WEBER"};let Kn=Xn;t.IfcSIUnitName=Kn;const Zn=class{};Zn.BATH={type:3,value:"BATH"},Zn.BIDET={type:3,value:"BIDET"},Zn.CISTERN={type:3,value:"CISTERN"},Zn.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Zn.SHOWER={type:3,value:"SHOWER"},Zn.SINK={type:3,value:"SINK"},Zn.TOILETPAN={type:3,value:"TOILETPAN"},Zn.URINAL={type:3,value:"URINAL"},Zn.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Zn.WCSEAT={type:3,value:"WCSEAT"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"};let qn=Zn;t.IfcSanitaryTerminalTypeEnum=qn;const Qn=class{};Qn.TAPERED={type:3,value:"TAPERED"},Qn.UNIFORM={type:3,value:"UNIFORM"};let Jn=Qn;t.IfcSectionTypeEnum=Jn;const $n=class{};$n.CO2SENSOR={type:3,value:"CO2SENSOR"},$n.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},$n.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},$n.COSENSOR={type:3,value:"COSENSOR"},$n.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"},$n.FIRESENSOR={type:3,value:"FIRESENSOR"},$n.FLOWSENSOR={type:3,value:"FLOWSENSOR"},$n.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"},$n.FROSTSENSOR={type:3,value:"FROSTSENSOR"},$n.GASSENSOR={type:3,value:"GASSENSOR"},$n.HEATSENSOR={type:3,value:"HEATSENSOR"},$n.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},$n.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},$n.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},$n.LEVELSENSOR={type:3,value:"LEVELSENSOR"},$n.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},$n.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},$n.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},$n.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"},$n.PHSENSOR={type:3,value:"PHSENSOR"},$n.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},$n.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},$n.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},$n.RAINSENSOR={type:3,value:"RAINSENSOR"},$n.SMOKESENSOR={type:3,value:"SMOKESENSOR"},$n.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"},$n.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},$n.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},$n.TRAINSENSOR={type:3,value:"TRAINSENSOR"},$n.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"},$n.WHEELSENSOR={type:3,value:"WHEELSENSOR"},$n.WINDSENSOR={type:3,value:"WINDSENSOR"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"};let ta=$n;t.IfcSensorTypeEnum=ta;const ea=class{};ea.FINISH_FINISH={type:3,value:"FINISH_FINISH"},ea.FINISH_START={type:3,value:"FINISH_START"},ea.START_FINISH={type:3,value:"START_FINISH"},ea.START_START={type:3,value:"START_START"},ea.USERDEFINED={type:3,value:"USERDEFINED"},ea.NOTDEFINED={type:3,value:"NOTDEFINED"};let sa=ea;t.IfcSequenceEnum=sa;const ia=class{};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"};let ra=ia;t.IfcShadingDeviceTypeEnum=ra;const na=class{};na.MARKER={type:3,value:"MARKER"},na.MIRROR={type:3,value:"MIRROR"},na.PICTORAL={type:3,value:"PICTORAL"},na.USERDEFINED={type:3,value:"USERDEFINED"},na.NOTDEFINED={type:3,value:"NOTDEFINED"};let aa=na;t.IfcSignTypeEnum=aa;const oa=class{};oa.AUDIO={type:3,value:"AUDIO"},oa.MIXED={type:3,value:"MIXED"},oa.VISUAL={type:3,value:"VISUAL"},oa.USERDEFINED={type:3,value:"USERDEFINED"},oa.NOTDEFINED={type:3,value:"NOTDEFINED"};let ha=oa;t.IfcSignalTypeEnum=ha;const ca=class{};ca.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},ca.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},ca.P_LISTVALUE={type:3,value:"P_LISTVALUE"},ca.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},ca.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},ca.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},ca.Q_AREA={type:3,value:"Q_AREA"},ca.Q_COUNT={type:3,value:"Q_COUNT"},ca.Q_LENGTH={type:3,value:"Q_LENGTH"},ca.Q_NUMBER={type:3,value:"Q_NUMBER"},ca.Q_TIME={type:3,value:"Q_TIME"},ca.Q_VOLUME={type:3,value:"Q_VOLUME"},ca.Q_WEIGHT={type:3,value:"Q_WEIGHT"};let la=ca;t.IfcSimplePropertyTemplateTypeEnum=la;const pa=class{};pa.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"},pa.BASESLAB={type:3,value:"BASESLAB"},pa.FLOOR={type:3,value:"FLOOR"},pa.LANDING={type:3,value:"LANDING"},pa.PAVING={type:3,value:"PAVING"},pa.ROOF={type:3,value:"ROOF"},pa.SIDEWALK={type:3,value:"SIDEWALK"},pa.TRACKSLAB={type:3,value:"TRACKSLAB"},pa.WEARING={type:3,value:"WEARING"},pa.USERDEFINED={type:3,value:"USERDEFINED"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"};let ua=pa;t.IfcSlabTypeEnum=ua;const Ea=class{};Ea.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},Ea.SOLARPANEL={type:3,value:"SOLARPANEL"},Ea.USERDEFINED={type:3,value:"USERDEFINED"},Ea.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ia=Ea;t.IfcSolarDeviceTypeEnum=Ia;const ya=class{};ya.CONVECTOR={type:3,value:"CONVECTOR"},ya.RADIATOR={type:3,value:"RADIATOR"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ta=ya;t.IfcSpaceHeaterTypeEnum=Ta;const da=class{};da.BERTH={type:3,value:"BERTH"},da.EXTERNAL={type:3,value:"EXTERNAL"},da.GFA={type:3,value:"GFA"},da.INTERNAL={type:3,value:"INTERNAL"},da.PARKING={type:3,value:"PARKING"},da.SPACE={type:3,value:"SPACE"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"};let Na=da;t.IfcSpaceTypeEnum=Na;const Ra=class{};Ra.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Ra.FIRESAFETY={type:3,value:"FIRESAFETY"},Ra.INTERFERENCE={type:3,value:"INTERFERENCE"},Ra.LIGHTING={type:3,value:"LIGHTING"},Ra.OCCUPANCY={type:3,value:"OCCUPANCY"},Ra.RESERVATION={type:3,value:"RESERVATION"},Ra.SECURITY={type:3,value:"SECURITY"},Ra.THERMAL={type:3,value:"THERMAL"},Ra.TRANSPORT={type:3,value:"TRANSPORT"},Ra.VENTILATION={type:3,value:"VENTILATION"},Ra.USERDEFINED={type:3,value:"USERDEFINED"},Ra.NOTDEFINED={type:3,value:"NOTDEFINED"};let fa=Ra;t.IfcSpatialZoneTypeEnum=fa;const Oa=class{};Oa.BIRDCAGE={type:3,value:"BIRDCAGE"},Oa.COWL={type:3,value:"COWL"},Oa.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Oa.USERDEFINED={type:3,value:"USERDEFINED"},Oa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Da=Oa;t.IfcStackTerminalTypeEnum=Da;const ma=class{};ma.CURVED={type:3,value:"CURVED"},ma.FREEFORM={type:3,value:"FREEFORM"},ma.SPIRAL={type:3,value:"SPIRAL"},ma.STRAIGHT={type:3,value:"STRAIGHT"},ma.WINDER={type:3,value:"WINDER"},ma.USERDEFINED={type:3,value:"USERDEFINED"},ma.NOTDEFINED={type:3,value:"NOTDEFINED"};let Aa=ma;t.IfcStairFlightTypeEnum=Aa;const Sa=class{};Sa.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Sa.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Sa.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Sa.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Sa.LADDER={type:3,value:"LADDER"},Sa.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Sa.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Sa.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Sa.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Sa.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Sa.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Sa.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Sa.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Sa.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Sa.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Sa.USERDEFINED={type:3,value:"USERDEFINED"},Sa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ca=Sa;t.IfcStairTypeEnum=Ca;const va=class{};va.LOCKED={type:3,value:"LOCKED"},va.READONLY={type:3,value:"READONLY"},va.READONLYLOCKED={type:3,value:"READONLYLOCKED"},va.READWRITE={type:3,value:"READWRITE"},va.READWRITELOCKED={type:3,value:"READWRITELOCKED"};let La=va;t.IfcStateEnum=La;const ba=class{};ba.CONST={type:3,value:"CONST"},ba.DISCRETE={type:3,value:"DISCRETE"},ba.EQUIDISTANT={type:3,value:"EQUIDISTANT"},ba.LINEAR={type:3,value:"LINEAR"},ba.PARABOLA={type:3,value:"PARABOLA"},ba.POLYGONAL={type:3,value:"POLYGONAL"},ba.SINUS={type:3,value:"SINUS"},ba.USERDEFINED={type:3,value:"USERDEFINED"},ba.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pa=ba;t.IfcStructuralCurveActivityTypeEnum=Pa;const ga=class{};ga.CABLE={type:3,value:"CABLE"},ga.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},ga.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},ga.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},ga.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},ga.USERDEFINED={type:3,value:"USERDEFINED"},ga.NOTDEFINED={type:3,value:"NOTDEFINED"};let xa=ga;t.IfcStructuralCurveMemberTypeEnum=xa;const _a=class{};_a.BILINEAR={type:3,value:"BILINEAR"},_a.CONST={type:3,value:"CONST"},_a.DISCRETE={type:3,value:"DISCRETE"},_a.ISOCONTOUR={type:3,value:"ISOCONTOUR"},_a.USERDEFINED={type:3,value:"USERDEFINED"},_a.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ma=_a;t.IfcStructuralSurfaceActivityTypeEnum=Ma;const Fa=class{};Fa.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Fa.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Fa.SHELL={type:3,value:"SHELL"},Fa.USERDEFINED={type:3,value:"USERDEFINED"},Fa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ua=Fa;t.IfcStructuralSurfaceMemberTypeEnum=Ua;const wa=class{};wa.PURCHASE={type:3,value:"PURCHASE"},wa.WORK={type:3,value:"WORK"},wa.USERDEFINED={type:3,value:"USERDEFINED"},wa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ga=wa;t.IfcSubContractResourceTypeEnum=Ga;const Ha=class{};Ha.DEFECT={type:3,value:"DEFECT"},Ha.HATCHMARKING={type:3,value:"HATCHMARKING"},Ha.LINEMARKING={type:3,value:"LINEMARKING"},Ha.MARK={type:3,value:"MARK"},Ha.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"},Ha.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"},Ha.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"},Ha.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"},Ha.TAG={type:3,value:"TAG"},Ha.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"},Ha.TREATMENT={type:3,value:"TREATMENT"},Ha.USERDEFINED={type:3,value:"USERDEFINED"},Ha.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ba=Ha;t.IfcSurfaceFeatureTypeEnum=Ba;const Va=class{};Va.BOTH={type:3,value:"BOTH"},Va.NEGATIVE={type:3,value:"NEGATIVE"},Va.POSITIVE={type:3,value:"POSITIVE"};let Wa=Va;t.IfcSurfaceSide=Wa;const ja=class{};ja.CONTACTOR={type:3,value:"CONTACTOR"},ja.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ja.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ja.KEYPAD={type:3,value:"KEYPAD"},ja.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ja.RELAY={type:3,value:"RELAY"},ja.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ja.STARTER={type:3,value:"STARTER"},ja.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"},ja.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ja.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ja.USERDEFINED={type:3,value:"USERDEFINED"},ja.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ya=ja;t.IfcSwitchingDeviceTypeEnum=Ya;const za=class{};za.PANEL={type:3,value:"PANEL"},za.SUBRACK={type:3,value:"SUBRACK"},za.WORKSURFACE={type:3,value:"WORKSURFACE"},za.USERDEFINED={type:3,value:"USERDEFINED"},za.NOTDEFINED={type:3,value:"NOTDEFINED"};let ka=za;t.IfcSystemFurnitureElementTypeEnum=ka;const Xa=class{};Xa.BASIN={type:3,value:"BASIN"},Xa.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Xa.EXPANSION={type:3,value:"EXPANSION"},Xa.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Xa.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"},Xa.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Xa.STORAGE={type:3,value:"STORAGE"},Xa.VESSEL={type:3,value:"VESSEL"},Xa.USERDEFINED={type:3,value:"USERDEFINED"},Xa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ka=Xa;t.IfcTankTypeEnum=Ka;const Za=class{};Za.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Za.WORKTIME={type:3,value:"WORKTIME"},Za.NOTDEFINED={type:3,value:"NOTDEFINED"};let qa=Za;t.IfcTaskDurationEnum=qa;const Qa=class{};Qa.ADJUSTMENT={type:3,value:"ADJUSTMENT"},Qa.ATTENDANCE={type:3,value:"ATTENDANCE"},Qa.CALIBRATION={type:3,value:"CALIBRATION"},Qa.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Qa.DEMOLITION={type:3,value:"DEMOLITION"},Qa.DISMANTLE={type:3,value:"DISMANTLE"},Qa.DISPOSAL={type:3,value:"DISPOSAL"},Qa.EMERGENCY={type:3,value:"EMERGENCY"},Qa.INSPECTION={type:3,value:"INSPECTION"},Qa.INSTALLATION={type:3,value:"INSTALLATION"},Qa.LOGISTIC={type:3,value:"LOGISTIC"},Qa.MAINTENANCE={type:3,value:"MAINTENANCE"},Qa.MOVE={type:3,value:"MOVE"},Qa.OPERATION={type:3,value:"OPERATION"},Qa.REMOVAL={type:3,value:"REMOVAL"},Qa.RENOVATION={type:3,value:"RENOVATION"},Qa.SAFETY={type:3,value:"SAFETY"},Qa.SHUTDOWN={type:3,value:"SHUTDOWN"},Qa.STARTUP={type:3,value:"STARTUP"},Qa.TESTING={type:3,value:"TESTING"},Qa.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"},Qa.USERDEFINED={type:3,value:"USERDEFINED"},Qa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ja=Qa;t.IfcTaskTypeEnum=Ja;const $a=class{};$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"};let to=$a;t.IfcTendonAnchorTypeEnum=to;const eo=class{};eo.COUPLER={type:3,value:"COUPLER"},eo.DIABOLO={type:3,value:"DIABOLO"},eo.DUCT={type:3,value:"DUCT"},eo.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"},eo.TRUMPET={type:3,value:"TRUMPET"},eo.USERDEFINED={type:3,value:"USERDEFINED"},eo.NOTDEFINED={type:3,value:"NOTDEFINED"};let so=eo;t.IfcTendonConduitTypeEnum=so;const io=class{};io.BAR={type:3,value:"BAR"},io.COATED={type:3,value:"COATED"},io.STRAND={type:3,value:"STRAND"},io.WIRE={type:3,value:"WIRE"},io.USERDEFINED={type:3,value:"USERDEFINED"},io.NOTDEFINED={type:3,value:"NOTDEFINED"};let ro=io;t.IfcTendonTypeEnum=ro;const no=class{};no.DOWN={type:3,value:"DOWN"},no.LEFT={type:3,value:"LEFT"},no.RIGHT={type:3,value:"RIGHT"},no.UP={type:3,value:"UP"};let ao=no;t.IfcTextPath=ao;const oo=class{};oo.CONTINUOUS={type:3,value:"CONTINUOUS"},oo.DISCRETE={type:3,value:"DISCRETE"},oo.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},oo.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},oo.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},oo.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},oo.NOTDEFINED={type:3,value:"NOTDEFINED"};let ho=oo;t.IfcTimeSeriesDataTypeEnum=ho;const co=class{};co.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"},co.DERAILER={type:3,value:"DERAILER"},co.FROG={type:3,value:"FROG"},co.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"},co.SLEEPER={type:3,value:"SLEEPER"},co.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"},co.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"},co.VEHICLESTOP={type:3,value:"VEHICLESTOP"},co.USERDEFINED={type:3,value:"USERDEFINED"},co.NOTDEFINED={type:3,value:"NOTDEFINED"};let lo=co;t.IfcTrackElementTypeEnum=lo;const po=class{};po.CHOPPER={type:3,value:"CHOPPER"},po.COMBINED={type:3,value:"COMBINED"},po.CURRENT={type:3,value:"CURRENT"},po.FREQUENCY={type:3,value:"FREQUENCY"},po.INVERTER={type:3,value:"INVERTER"},po.RECTIFIER={type:3,value:"RECTIFIER"},po.VOLTAGE={type:3,value:"VOLTAGE"},po.USERDEFINED={type:3,value:"USERDEFINED"},po.NOTDEFINED={type:3,value:"NOTDEFINED"};let uo=po;t.IfcTransformerTypeEnum=uo;const Eo=class{};Eo.CONTINUOUS={type:3,value:"CONTINUOUS"},Eo.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Eo.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},Eo.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"};let Io=Eo;t.IfcTransitionCode=Io;const yo=class{};yo.CRANEWAY={type:3,value:"CRANEWAY"},yo.ELEVATOR={type:3,value:"ELEVATOR"},yo.ESCALATOR={type:3,value:"ESCALATOR"},yo.HAULINGGEAR={type:3,value:"HAULINGGEAR"},yo.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},yo.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},yo.USERDEFINED={type:3,value:"USERDEFINED"},yo.NOTDEFINED={type:3,value:"NOTDEFINED"};let To=yo;t.IfcTransportElementTypeEnum=To;const No=class{};No.CARTESIAN={type:3,value:"CARTESIAN"},No.PARAMETER={type:3,value:"PARAMETER"},No.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let Ro=No;t.IfcTrimmingPreference=Ro;const fo=class{};fo.FINNED={type:3,value:"FINNED"},fo.USERDEFINED={type:3,value:"USERDEFINED"},fo.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oo=fo;t.IfcTubeBundleTypeEnum=Oo;const Do=class{};Do.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Do.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Do.AREAUNIT={type:3,value:"AREAUNIT"},Do.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Do.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Do.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Do.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Do.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Do.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Do.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Do.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Do.FORCEUNIT={type:3,value:"FORCEUNIT"},Do.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Do.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Do.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Do.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Do.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Do.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Do.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Do.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Do.MASSUNIT={type:3,value:"MASSUNIT"},Do.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Do.POWERUNIT={type:3,value:"POWERUNIT"},Do.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Do.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Do.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Do.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Do.TIMEUNIT={type:3,value:"TIMEUNIT"},Do.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Do.USERDEFINED={type:3,value:"USERDEFINED"};let mo=Do;t.IfcUnitEnum=mo;const Ao=class{};Ao.ALARMPANEL={type:3,value:"ALARMPANEL"},Ao.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"},Ao.COMBINED={type:3,value:"COMBINED"},Ao.CONTROLPANEL={type:3,value:"CONTROLPANEL"},Ao.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},Ao.HUMIDISTAT={type:3,value:"HUMIDISTAT"},Ao.INDICATORPANEL={type:3,value:"INDICATORPANEL"},Ao.MIMICPANEL={type:3,value:"MIMICPANEL"},Ao.THERMOSTAT={type:3,value:"THERMOSTAT"},Ao.WEATHERSTATION={type:3,value:"WEATHERSTATION"},Ao.USERDEFINED={type:3,value:"USERDEFINED"},Ao.NOTDEFINED={type:3,value:"NOTDEFINED"};let So=Ao;t.IfcUnitaryControlElementTypeEnum=So;const Co=class{};Co.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},Co.AIRHANDLER={type:3,value:"AIRHANDLER"},Co.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},Co.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},Co.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},Co.USERDEFINED={type:3,value:"USERDEFINED"},Co.NOTDEFINED={type:3,value:"NOTDEFINED"};let vo=Co;t.IfcUnitaryEquipmentTypeEnum=vo;const Lo=class{};Lo.AIRRELEASE={type:3,value:"AIRRELEASE"},Lo.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Lo.CHANGEOVER={type:3,value:"CHANGEOVER"},Lo.CHECK={type:3,value:"CHECK"},Lo.COMMISSIONING={type:3,value:"COMMISSIONING"},Lo.DIVERTING={type:3,value:"DIVERTING"},Lo.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Lo.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Lo.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Lo.FAUCET={type:3,value:"FAUCET"},Lo.FLUSHING={type:3,value:"FLUSHING"},Lo.GASCOCK={type:3,value:"GASCOCK"},Lo.GASTAP={type:3,value:"GASTAP"},Lo.ISOLATING={type:3,value:"ISOLATING"},Lo.MIXING={type:3,value:"MIXING"},Lo.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Lo.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Lo.REGULATING={type:3,value:"REGULATING"},Lo.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Lo.STEAMTRAP={type:3,value:"STEAMTRAP"},Lo.STOPCOCK={type:3,value:"STOPCOCK"},Lo.USERDEFINED={type:3,value:"USERDEFINED"},Lo.NOTDEFINED={type:3,value:"NOTDEFINED"};let bo=Lo;t.IfcValveTypeEnum=bo;const Po=class{};Po.CARGO={type:3,value:"CARGO"},Po.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"},Po.VEHICLE={type:3,value:"VEHICLE"},Po.VEHICLEAIR={type:3,value:"VEHICLEAIR"},Po.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"},Po.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"},Po.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"},Po.USERDEFINED={type:3,value:"USERDEFINED"},Po.NOTDEFINED={type:3,value:"NOTDEFINED"};let go=Po;t.IfcVehicleTypeEnum=go;const xo=class{};xo.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"},xo.BENDING_YIELD={type:3,value:"BENDING_YIELD"},xo.FRICTION={type:3,value:"FRICTION"},xo.RUBBER={type:3,value:"RUBBER"},xo.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"},xo.VISCOUS={type:3,value:"VISCOUS"},xo.USERDEFINED={type:3,value:"USERDEFINED"},xo.NOTDEFINED={type:3,value:"NOTDEFINED"};let _o=xo;t.IfcVibrationDamperTypeEnum=_o;const Mo=class{};Mo.BASE={type:3,value:"BASE"},Mo.COMPRESSION={type:3,value:"COMPRESSION"},Mo.SPRING={type:3,value:"SPRING"},Mo.USERDEFINED={type:3,value:"USERDEFINED"},Mo.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fo=Mo;t.IfcVibrationIsolatorTypeEnum=Fo;const Uo=class{};Uo.BOUNDARY={type:3,value:"BOUNDARY"},Uo.CLEARANCE={type:3,value:"CLEARANCE"},Uo.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Uo.USERDEFINED={type:3,value:"USERDEFINED"},Uo.NOTDEFINED={type:3,value:"NOTDEFINED"};let wo=Uo;t.IfcVirtualElementTypeEnum=wo;const Go=class{};Go.CHAMFER={type:3,value:"CHAMFER"},Go.CUTOUT={type:3,value:"CUTOUT"},Go.EDGE={type:3,value:"EDGE"},Go.HOLE={type:3,value:"HOLE"},Go.MITER={type:3,value:"MITER"},Go.NOTCH={type:3,value:"NOTCH"},Go.USERDEFINED={type:3,value:"USERDEFINED"},Go.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ho=Go;t.IfcVoidingFeatureTypeEnum=Ho;const Bo=class{};Bo.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Bo.MOVABLE={type:3,value:"MOVABLE"},Bo.PARAPET={type:3,value:"PARAPET"},Bo.PARTITIONING={type:3,value:"PARTITIONING"},Bo.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Bo.POLYGONAL={type:3,value:"POLYGONAL"},Bo.RETAININGWALL={type:3,value:"RETAININGWALL"},Bo.SHEAR={type:3,value:"SHEAR"},Bo.SOLIDWALL={type:3,value:"SOLIDWALL"},Bo.STANDARD={type:3,value:"STANDARD"},Bo.WAVEWALL={type:3,value:"WAVEWALL"},Bo.USERDEFINED={type:3,value:"USERDEFINED"},Bo.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vo=Bo;t.IfcWallTypeEnum=Vo;const Wo=class{};Wo.FLOORTRAP={type:3,value:"FLOORTRAP"},Wo.FLOORWASTE={type:3,value:"FLOORWASTE"},Wo.GULLYSUMP={type:3,value:"GULLYSUMP"},Wo.GULLYTRAP={type:3,value:"GULLYTRAP"},Wo.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Wo.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Wo.WASTETRAP={type:3,value:"WASTETRAP"},Wo.USERDEFINED={type:3,value:"USERDEFINED"},Wo.NOTDEFINED={type:3,value:"NOTDEFINED"};let jo=Wo;t.IfcWasteTerminalTypeEnum=jo;const Yo=class{};Yo.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Yo.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Yo.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Yo.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Yo.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Yo.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Yo.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Yo.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Yo.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Yo.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Yo.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Yo.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Yo.TOPHUNG={type:3,value:"TOPHUNG"},Yo.NOTDEFINED={type:3,value:"NOTDEFINED"};let zo=Yo;t.IfcWindowPanelOperationEnum=zo;const ko=class{};ko.BOTTOM={type:3,value:"BOTTOM"},ko.LEFT={type:3,value:"LEFT"},ko.MIDDLE={type:3,value:"MIDDLE"},ko.RIGHT={type:3,value:"RIGHT"},ko.TOP={type:3,value:"TOP"},ko.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xo=ko;t.IfcWindowPanelPositionEnum=Xo;const Ko=class{};Ko.LIGHTDOME={type:3,value:"LIGHTDOME"},Ko.SKYLIGHT={type:3,value:"SKYLIGHT"},Ko.WINDOW={type:3,value:"WINDOW"},Ko.USERDEFINED={type:3,value:"USERDEFINED"},Ko.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zo=Ko;t.IfcWindowTypeEnum=Zo;const qo=class{};qo.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},qo.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},qo.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},qo.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},qo.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},qo.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},qo.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},qo.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},qo.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},qo.USERDEFINED={type:3,value:"USERDEFINED"},qo.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qo=qo;t.IfcWindowTypePartitioningEnum=Qo;const Jo=class{};Jo.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},Jo.SECONDSHIFT={type:3,value:"SECONDSHIFT"},Jo.THIRDSHIFT={type:3,value:"THIRDSHIFT"},Jo.USERDEFINED={type:3,value:"USERDEFINED"},Jo.NOTDEFINED={type:3,value:"NOTDEFINED"};let $o=Jo;t.IfcWorkCalendarTypeEnum=$o;const th=class{};th.ACTUAL={type:3,value:"ACTUAL"},th.BASELINE={type:3,value:"BASELINE"},th.PLANNED={type:3,value:"PLANNED"},th.USERDEFINED={type:3,value:"USERDEFINED"},th.NOTDEFINED={type:3,value:"NOTDEFINED"};let eh=th;t.IfcWorkPlanTypeEnum=eh;const sh=class{};sh.ACTUAL={type:3,value:"ACTUAL"},sh.BASELINE={type:3,value:"BASELINE"},sh.PLANNED={type:3,value:"PLANNED"},sh.USERDEFINED={type:3,value:"USERDEFINED"},sh.NOTDEFINED={type:3,value:"NOTDEFINED"};let ih=sh;t.IfcWorkScheduleTypeEnum=ih;t.IfcActorRole=class extends Gu{constructor(t,e,s){super(),this.Role=t,this.UserDefinedRole=e,this.Description=s,this.type=3630933823}};class rh extends Gu{constructor(t,e,s){super(),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.type=618182010}}t.IfcAddress=rh;class nh extends Gu{constructor(t,e){super(),this.StartTag=t,this.EndTag=e,this.type=2879124712}}t.IfcAlignmentParameterSegment=nh;t.IfcAlignmentVerticalSegment=class extends nh{constructor(t,e,s,i,r,n,a,o,h){super(t,e),this.StartTag=t,this.EndTag=e,this.StartDistAlong=s,this.HorizontalLength=i,this.StartHeight=r,this.StartGradient=n,this.EndGradient=a,this.RadiusOfCurvature=o,this.PredefinedType=h,this.type=3633395639}};t.IfcApplication=class extends Gu{constructor(t,e,s,i){super(),this.ApplicationDeveloper=t,this.Version=e,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class ah extends Gu{constructor(t,e,s,i,r,n,a,o,h,c){super(),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.Category=a,this.Condition=o,this.ArithmeticOperator=h,this.Components=c,this.type=411424972}}t.IfcAppliedValue=ah;t.IfcApproval=class extends Gu{constructor(t,e,s,i,r,n,a,o,h){super(),this.Identifier=t,this.Name=e,this.Description=s,this.TimeOfApproval=i,this.Status=r,this.Level=n,this.Qualifier=a,this.RequestingApproval=o,this.GivingApproval=h,this.type=130549933}};class oh extends Gu{constructor(t){super(),this.Name=t,this.type=4037036970}}t.IfcBoundaryCondition=oh;t.IfcBoundaryEdgeCondition=class extends oh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TranslationalStiffnessByLengthX=e,this.TranslationalStiffnessByLengthY=s,this.TranslationalStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=r,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};t.IfcBoundaryFaceCondition=class extends oh{constructor(t,e,s,i){super(t),this.Name=t,this.TranslationalStiffnessByAreaX=e,this.TranslationalStiffnessByAreaY=s,this.TranslationalStiffnessByAreaZ=i,this.type=3367102660}};class hh extends oh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TranslationalStiffnessX=e,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}t.IfcBoundaryNodeCondition=hh;t.IfcBoundaryNodeConditionWarping=class extends hh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.TranslationalStiffnessX=e,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=o,this.type=2069777674}};class ch extends Gu{constructor(){super(),this.type=2859738748}}t.IfcConnectionGeometry=ch;class lh extends ch{constructor(t,e){super(),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.type=2614616156}}t.IfcConnectionPointGeometry=lh;t.IfcConnectionSurfaceGeometry=class extends ch{constructor(t,e){super(),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=e,this.type=2732653382}};t.IfcConnectionVolumeGeometry=class extends ch{constructor(t,e){super(),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=e,this.type=775493141}};class ph extends Gu{constructor(t,e,s,i,r,n,a){super(),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}t.IfcConstraint=ph;class uh extends Gu{constructor(t,e){super(),this.SourceCRS=t,this.TargetCRS=e,this.type=1785450214}}t.IfcCoordinateOperation=uh;class Eh extends Gu{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.GeodeticDatum=s,this.type=1466758467}}t.IfcCoordinateReferenceSystem=Eh;t.IfcCostValue=class extends ah{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h,c),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.Category=a,this.Condition=o,this.ArithmeticOperator=h,this.Components=c,this.type=602808272}};t.IfcDerivedUnit=class extends Gu{constructor(t,e,s,i){super(),this.Elements=t,this.UnitType=e,this.UserDefinedType=s,this.Name=i,this.type=1765591967}};t.IfcDerivedUnitElement=class extends Gu{constructor(t,e){super(),this.Unit=t,this.Exponent=e,this.type=1045800335}};t.IfcDimensionalExponents=class extends Gu{constructor(t,e,s,i,r,n,a){super(),this.LengthExponent=t,this.MassExponent=e,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=r,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};class Ih extends Gu{constructor(){super(),this.type=4294318154}}t.IfcExternalInformation=Ih;class yh extends Gu{constructor(t,e,s){super(),this.Location=t,this.Identification=e,this.Name=s,this.type=3200245327}}t.IfcExternalReference=yh;t.IfcExternallyDefinedHatchStyle=class extends yh{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=2242383968}};t.IfcExternallyDefinedSurfaceStyle=class extends yh{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=1040185647}};t.IfcExternallyDefinedTextFont=class extends yh{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=3548104201}};t.IfcGeographicCRS=class extends Eh{constructor(t,e,s,i,r,n){super(t,e,s),this.Name=t,this.Description=e,this.GeodeticDatum=s,this.PrimeMeridian=i,this.AngleUnit=r,this.HeightUnit=n,this.type=917726184}};t.IfcGridAxis=class extends Gu{constructor(t,e,s){super(),this.AxisTag=t,this.AxisCurve=e,this.SameSense=s,this.type=852622518}};t.IfcIrregularTimeSeriesValue=class extends Gu{constructor(t,e){super(),this.TimeStamp=t,this.ListValues=e,this.type=3020489413}};t.IfcLibraryInformation=class extends Ih{constructor(t,e,s,i,r,n){super(),this.Name=t,this.Version=e,this.Publisher=s,this.VersionDate=i,this.Location=r,this.Description=n,this.type=2655187982}};t.IfcLibraryReference=class extends yh{constructor(t,e,s,i,r,n){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.Description=i,this.Language=r,this.ReferencedLibrary=n,this.type=3452421091}};t.IfcLightDistributionData=class extends Gu{constructor(t,e,s){super(),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=e,this.LuminousIntensity=s,this.type=4162380809}};t.IfcLightIntensityDistribution=class extends Gu{constructor(t,e){super(),this.LightDistributionCurve=t,this.DistributionData=e,this.type=1566485204}};class Th extends uh{constructor(t,e,s,i,r,n,a,o){super(t,e),this.SourceCRS=t,this.TargetCRS=e,this.Eastings=s,this.Northings=i,this.OrthogonalHeight=r,this.XAxisAbscissa=n,this.XAxisOrdinate=a,this.Scale=o,this.type=3057273783}}t.IfcMapConversion=Th;t.IfcMapConversionScaled=class extends Th{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o),this.SourceCRS=t,this.TargetCRS=e,this.Eastings=s,this.Northings=i,this.OrthogonalHeight=r,this.XAxisAbscissa=n,this.XAxisOrdinate=a,this.Scale=o,this.FactorX=h,this.FactorY=c,this.FactorZ=l,this.type=4105526436}};t.IfcMaterialClassificationRelationship=class extends Gu{constructor(t,e){super(),this.MaterialClassifications=t,this.ClassifiedMaterial=e,this.type=1847130766}};class dh extends Gu{constructor(){super(),this.type=760658860}}t.IfcMaterialDefinition=dh;class Nh extends dh{constructor(t,e,s,i,r,n,a){super(),this.Material=t,this.LayerThickness=e,this.IsVentilated=s,this.Name=i,this.Description=r,this.Category=n,this.Priority=a,this.type=248100487}}t.IfcMaterialLayer=Nh;t.IfcMaterialLayerSet=class extends dh{constructor(t,e,s){super(),this.MaterialLayers=t,this.LayerSetName=e,this.Description=s,this.type=3303938423}};t.IfcMaterialLayerWithOffsets=class extends Nh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.Material=t,this.LayerThickness=e,this.IsVentilated=s,this.Name=i,this.Description=r,this.Category=n,this.Priority=a,this.OffsetDirection=o,this.OffsetValues=h,this.type=1847252529}};t.IfcMaterialList=class extends Gu{constructor(t){super(),this.Materials=t,this.type=2199411900}};class Rh extends dh{constructor(t,e,s,i,r,n){super(),this.Name=t,this.Description=e,this.Material=s,this.Profile=i,this.Priority=r,this.Category=n,this.type=2235152071}}t.IfcMaterialProfile=Rh;t.IfcMaterialProfileSet=class extends dh{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.MaterialProfiles=s,this.CompositeProfile=i,this.type=164193824}};t.IfcMaterialProfileWithOffsets=class extends Rh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.Name=t,this.Description=e,this.Material=s,this.Profile=i,this.Priority=r,this.Category=n,this.OffsetValues=a,this.type=552965576}};class fh extends Gu{constructor(){super(),this.type=1507914824}}t.IfcMaterialUsageDefinition=fh;t.IfcMeasureWithUnit=class extends Gu{constructor(t,e){super(),this.ValueComponent=t,this.UnitComponent=e,this.type=2597039031}};t.IfcMetric=class extends ph{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=o,this.ValueSource=h,this.DataValue=c,this.ReferencePath=l,this.type=3368373690}};t.IfcMonetaryUnit=class extends Gu{constructor(t){super(),this.Currency=t,this.type=2706619895}};class Oh extends Gu{constructor(t,e){super(),this.Dimensions=t,this.UnitType=e,this.type=1918398963}}t.IfcNamedUnit=Oh;class Dh extends Gu{constructor(t){super(),this.PlacementRelTo=t,this.type=3701648758}}t.IfcObjectPlacement=Dh;t.IfcObjective=class extends ph{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=o,this.LogicalAggregator=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=l,this.type=2251480897}};t.IfcOrganization=class extends Gu{constructor(t,e,s,i,r){super(),this.Identification=t,this.Name=e,this.Description=s,this.Roles=i,this.Addresses=r,this.type=4251960020}};t.IfcOwnerHistory=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.OwningUser=t,this.OwningApplication=e,this.State=s,this.ChangeAction=i,this.LastModifiedDate=r,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=o,this.type=1207048766}};t.IfcPerson=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Identification=t,this.FamilyName=e,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=r,this.SuffixTitles=n,this.Roles=a,this.Addresses=o,this.type=2077209135}};t.IfcPersonAndOrganization=class extends Gu{constructor(t,e,s){super(),this.ThePerson=t,this.TheOrganization=e,this.Roles=s,this.type=101040310}};class mh extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2483315170}}t.IfcPhysicalQuantity=mh;class Ah extends mh{constructor(t,e,s){super(t,e),this.Name=t,this.Description=e,this.Unit=s,this.type=2226359599}}t.IfcPhysicalSimpleQuantity=Ah;t.IfcPostalAddress=class extends rh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=r,this.PostalBox=n,this.Town=a,this.Region=o,this.PostalCode=h,this.Country=c,this.type=3355820592}};class Sh extends Gu{constructor(){super(),this.type=677532197}}t.IfcPresentationItem=Sh;class Ch extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}t.IfcPresentationLayerAssignment=Ch;t.IfcPresentationLayerWithStyle=class extends Ch{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.LayerOn=r,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=o,this.type=1304840413}};class vh extends Gu{constructor(t){super(),this.Name=t,this.type=3119450353}}t.IfcPresentationStyle=vh;class Lh extends Gu{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Representations=s,this.type=2095639259}}t.IfcProductRepresentation=Lh;class bh extends Gu{constructor(t,e){super(),this.ProfileType=t,this.ProfileName=e,this.type=3958567839}}t.IfcProfileDef=bh;t.IfcProjectedCRS=class extends Eh{constructor(t,e,s,i,r,n,a){super(t,e,s),this.Name=t,this.Description=e,this.GeodeticDatum=s,this.VerticalDatum=i,this.MapProjection=r,this.MapZone=n,this.MapUnit=a,this.type=3843373140}};class Ph extends Gu{constructor(){super(),this.type=986844984}}t.IfcPropertyAbstraction=Ph;t.IfcPropertyEnumeration=class extends Ph{constructor(t,e,s){super(),this.Name=t,this.EnumerationValues=e,this.Unit=s,this.type=3710013099}};t.IfcQuantityArea=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.AreaValue=i,this.Formula=r,this.type=2044713172}};t.IfcQuantityCount=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.CountValue=i,this.Formula=r,this.type=2093928680}};t.IfcQuantityLength=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.LengthValue=i,this.Formula=r,this.type=931644368}};t.IfcQuantityNumber=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.NumberValue=i,this.Formula=r,this.type=2691318326}};t.IfcQuantityTime=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.TimeValue=i,this.Formula=r,this.type=3252649465}};t.IfcQuantityVolume=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.VolumeValue=i,this.Formula=r,this.type=2405470396}};t.IfcQuantityWeight=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.WeightValue=i,this.Formula=r,this.type=825690147}};t.IfcRecurrencePattern=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.RecurrenceType=t,this.DayComponent=e,this.WeekdayComponent=s,this.MonthComponent=i,this.Position=r,this.Interval=n,this.Occurrences=a,this.TimePeriods=o,this.type=3915482550}};t.IfcReference=class extends Gu{constructor(t,e,s,i,r){super(),this.TypeIdentifier=t,this.AttributeIdentifier=e,this.InstanceName=s,this.ListPositions=i,this.InnerReference=r,this.type=2433181523}};class gh extends Gu{constructor(t,e,s,i){super(),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1076942058}}t.IfcRepresentation=gh;class xh extends Gu{constructor(t,e){super(),this.ContextIdentifier=t,this.ContextType=e,this.type=3377609919}}t.IfcRepresentationContext=xh;class _h extends Gu{constructor(){super(),this.type=3008791417}}t.IfcRepresentationItem=_h;t.IfcRepresentationMap=class extends Gu{constructor(t,e){super(),this.MappingOrigin=t,this.MappedRepresentation=e,this.type=1660063152}};class Mh extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2439245199}}t.IfcResourceLevelRelationship=Mh;t.IfcRigidOperation=class extends uh{constructor(t,e,s,i,r){super(t,e),this.SourceCRS=t,this.TargetCRS=e,this.FirstCoordinate=s,this.SecondCoordinate=i,this.Height=r,this.type=1794013214}};class Fh extends Gu{constructor(t,e,s,i){super(),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2341007311}}t.IfcRoot=Fh;t.IfcSIUnit=class extends Oh{constructor(t,e,s){super(new Uu(0),t),this.UnitType=t,this.Prefix=e,this.Name=s,this.type=448429030}};class Uh extends Gu{constructor(t,e,s){super(),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.type=1054537805}}t.IfcSchedulingTime=Uh;t.IfcShapeAspect=class extends Gu{constructor(t,e,s,i,r){super(),this.ShapeRepresentations=t,this.Name=e,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=r,this.type=867548509}};class wh extends gh{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3982875396}}t.IfcShapeModel=wh;t.IfcShapeRepresentation=class extends wh{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class Gh extends Gu{constructor(t){super(),this.Name=t,this.type=2273995522}}t.IfcStructuralConnectionCondition=Gh;class Hh extends Gu{constructor(t){super(),this.Name=t,this.type=2162789131}}t.IfcStructuralLoad=Hh;t.IfcStructuralLoadConfiguration=class extends Hh{constructor(t,e,s){super(t),this.Name=t,this.Values=e,this.Locations=s,this.type=3478079324}};class Bh extends Hh{constructor(t){super(t),this.Name=t,this.type=609421318}}t.IfcStructuralLoadOrResult=Bh;class Vh extends Bh{constructor(t){super(t),this.Name=t,this.type=2525727697}}t.IfcStructuralLoadStatic=Vh;t.IfcStructuralLoadTemperature=class extends Vh{constructor(t,e,s,i){super(t),this.Name=t,this.DeltaTConstant=e,this.DeltaTY=s,this.DeltaTZ=i,this.type=3408363356}};class Wh extends gh{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=2830218821}}t.IfcStyleModel=Wh;t.IfcStyledItem=class extends _h{constructor(t,e,s){super(),this.Item=t,this.Styles=e,this.Name=s,this.type=3958052878}};t.IfcStyledRepresentation=class extends Wh{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3049322572}};t.IfcSurfaceReinforcementArea=class extends Bh{constructor(t,e,s,i){super(t),this.Name=t,this.SurfaceReinforcement1=e,this.SurfaceReinforcement2=s,this.ShearReinforcement=i,this.type=2934153892}};t.IfcSurfaceStyle=class extends vh{constructor(t,e,s){super(t),this.Name=t,this.Side=e,this.Styles=s,this.type=1300840506}};t.IfcSurfaceStyleLighting=class extends Sh{constructor(t,e,s,i){super(),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=e,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}};t.IfcSurfaceStyleRefraction=class extends Sh{constructor(t,e){super(),this.RefractionIndex=t,this.DispersionFactor=e,this.type=1607154358}};class jh extends Sh{constructor(t,e){super(),this.SurfaceColour=t,this.Transparency=e,this.type=846575682}}t.IfcSurfaceStyleShading=jh;t.IfcSurfaceStyleWithTextures=class extends Sh{constructor(t){super(),this.Textures=t,this.type=1351298697}};class Yh extends Sh{constructor(t,e,s,i,r){super(),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.type=626085974}}t.IfcSurfaceTexture=Yh;t.IfcTable=class extends Gu{constructor(t,e,s){super(),this.Name=t,this.Rows=e,this.Columns=s,this.type=985171141}};t.IfcTableColumn=class extends Gu{constructor(t,e,s,i,r){super(),this.Identifier=t,this.Name=e,this.Description=s,this.Unit=i,this.ReferencePath=r,this.type=2043862942}};t.IfcTableRow=class extends Gu{constructor(t,e){super(),this.RowCells=t,this.IsHeading=e,this.type=531007025}};class zh extends Uh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=o,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=l,this.FreeFloat=p,this.TotalFloat=u,this.IsCritical=E,this.StatusTime=I,this.ActualDuration=y,this.ActualStart=T,this.ActualFinish=d,this.RemainingTime=N,this.Completion=R,this.type=1549132990}}t.IfcTaskTime=zh;t.IfcTaskTimeRecurring=class extends zh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f){super(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=o,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=l,this.FreeFloat=p,this.TotalFloat=u,this.IsCritical=E,this.StatusTime=I,this.ActualDuration=y,this.ActualStart=T,this.ActualFinish=d,this.RemainingTime=N,this.Completion=R,this.Recurrence=f,this.type=2771591690}};t.IfcTelecomAddress=class extends rh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=r,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=o,this.MessagingIDs=h,this.type=912023232}};t.IfcTextStyle=class extends vh{constructor(t,e,s,i,r){super(t),this.Name=t,this.TextCharacterAppearance=e,this.TextStyle=s,this.TextFontStyle=i,this.ModelOrDraughting=r,this.type=1447204868}};t.IfcTextStyleForDefinedFont=class extends Sh{constructor(t,e){super(),this.Colour=t,this.BackgroundColour=e,this.type=2636378356}};t.IfcTextStyleTextModel=class extends Sh{constructor(t,e,s,i,r,n,a){super(),this.TextIndent=t,this.TextAlign=e,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=r,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};class kh extends Sh{constructor(t){super(),this.Maps=t,this.type=280115917}}t.IfcTextureCoordinate=kh;t.IfcTextureCoordinateGenerator=class extends kh{constructor(t,e,s){super(t),this.Maps=t,this.Mode=e,this.Parameter=s,this.type=1742049831}};class Xh extends Gu{constructor(t,e){super(),this.TexCoordIndex=t,this.TexCoordsOf=e,this.type=222769930}}t.IfcTextureCoordinateIndices=Xh;t.IfcTextureCoordinateIndicesWithVoids=class extends Xh{constructor(t,e,s){super(t,e),this.TexCoordIndex=t,this.TexCoordsOf=e,this.InnerTexCoordIndices=s,this.type=1010789467}};t.IfcTextureMap=class extends kh{constructor(t,e,s){super(t),this.Maps=t,this.Vertices=e,this.MappedTo=s,this.type=2552916305}};t.IfcTextureVertex=class extends Sh{constructor(t){super(),this.Coordinates=t,this.type=1210645708}};t.IfcTextureVertexList=class extends Sh{constructor(t){super(),this.TexCoordsList=t,this.type=3611470254}};t.IfcTimePeriod=class extends Gu{constructor(t,e){super(),this.StartTime=t,this.EndTime=e,this.type=1199560280}};class Kh extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.type=3101149627}}t.IfcTimeSeries=Kh;t.IfcTimeSeriesValue=class extends Gu{constructor(t){super(),this.ListValues=t,this.type=581633288}};class Zh extends _h{constructor(){super(),this.type=1377556343}}t.IfcTopologicalRepresentationItem=Zh;t.IfcTopologyRepresentation=class extends wh{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1735638870}};t.IfcUnitAssignment=class extends Gu{constructor(t){super(),this.Units=t,this.type=180925521}};class qh extends Zh{constructor(){super(),this.type=2799835756}}t.IfcVertex=qh;t.IfcVertexPoint=class extends qh{constructor(t){super(),this.VertexGeometry=t,this.type=1907098498}};t.IfcVirtualGridIntersection=class extends Gu{constructor(t,e){super(),this.IntersectingAxes=t,this.OffsetDistances=e,this.type=891718957}};t.IfcWellKnownText=class extends Gu{constructor(t,e){super(),this.WellKnownText=t,this.CoordinateReferenceSystem=e,this.type=1175146630}};t.IfcWorkTime=class extends Uh{constructor(t,e,s,i,r,n){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.RecurrencePattern=i,this.StartDate=r,this.FinishDate=n,this.type=1236880293}};t.IfcAlignmentCantSegment=class extends nh{constructor(t,e,s,i,r,n,a,o,h){super(t,e),this.StartTag=t,this.EndTag=e,this.StartDistAlong=s,this.HorizontalLength=i,this.StartCantLeft=r,this.EndCantLeft=n,this.StartCantRight=a,this.EndCantRight=o,this.PredefinedType=h,this.type=3752311538}};t.IfcAlignmentHorizontalSegment=class extends nh{constructor(t,e,s,i,r,n,a,o,h){super(t,e),this.StartTag=t,this.EndTag=e,this.StartPoint=s,this.StartDirection=i,this.StartRadiusOfCurvature=r,this.EndRadiusOfCurvature=n,this.SegmentLength=a,this.GravityCenterLineHeight=o,this.PredefinedType=h,this.type=536804194}};t.IfcApprovalRelationship=class extends Mh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingApproval=s,this.RelatedApprovals=i,this.type=3869604511}};class Qh extends bh{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.type=3798115385}}t.IfcArbitraryClosedProfileDef=Qh;class Jh extends bh{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.type=1310608509}}t.IfcArbitraryOpenProfileDef=Jh;t.IfcArbitraryProfileDefWithVoids=class extends Qh{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}};t.IfcBlobTexture=class extends Yh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.RasterFormat=n,this.RasterCode=a,this.type=616511568}};t.IfcCenterLineProfileDef=class extends Jh{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.Thickness=i,this.type=3150382593}};t.IfcClassification=class extends Ih{constructor(t,e,s,i,r,n,a){super(),this.Source=t,this.Edition=e,this.EditionDate=s,this.Name=i,this.Description=r,this.Specification=n,this.ReferenceTokens=a,this.type=747523909}};t.IfcClassificationReference=class extends yh{constructor(t,e,s,i,r,n){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.ReferencedSource=i,this.Description=r,this.Sort=n,this.type=647927063}};t.IfcColourRgbList=class extends Sh{constructor(t){super(),this.ColourList=t,this.type=3285139300}};class $h extends Sh{constructor(t){super(),this.Name=t,this.type=3264961684}}t.IfcColourSpecification=$h;t.IfcCompositeProfileDef=class extends bh{constructor(t,e,s,i){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Profiles=s,this.Label=i,this.type=1485152156}};class tc extends Zh{constructor(t){super(),this.CfsFaces=t,this.type=370225590}}t.IfcConnectedFaceSet=tc;t.IfcConnectionCurveGeometry=class extends ch{constructor(t,e){super(),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=e,this.type=1981873012}};t.IfcConnectionPointEccentricity=class extends lh{constructor(t,e,s,i,r){super(t,e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=r,this.type=45288368}};t.IfcContextDependentUnit=class extends Oh{constructor(t,e,s){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.type=3050246964}};class ec extends Oh{constructor(t,e,s,i){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.ConversionFactor=i,this.type=2889183280}}t.IfcConversionBasedUnit=ec;t.IfcConversionBasedUnitWithOffset=class extends ec{constructor(t,e,s,i,r){super(t,e,s,i),this.Dimensions=t,this.UnitType=e,this.Name=s,this.ConversionFactor=i,this.ConversionOffset=r,this.type=2713554722}};t.IfcCurrencyRelationship=class extends Mh{constructor(t,e,s,i,r,n,a){super(t,e),this.Name=t,this.Description=e,this.RelatingMonetaryUnit=s,this.RelatedMonetaryUnit=i,this.ExchangeRate=r,this.RateDateTime=n,this.RateSource=a,this.type=539742890}};t.IfcCurveStyle=class extends vh{constructor(t,e,s,i,r){super(t),this.Name=t,this.CurveFont=e,this.CurveWidth=s,this.CurveColour=i,this.ModelOrDraughting=r,this.type=3800577675}};t.IfcCurveStyleFont=class extends Sh{constructor(t,e){super(),this.Name=t,this.PatternList=e,this.type=1105321065}};t.IfcCurveStyleFontAndScaling=class extends Sh{constructor(t,e,s){super(),this.Name=t,this.CurveStyleFont=e,this.CurveFontScaling=s,this.type=2367409068}};t.IfcCurveStyleFontPattern=class extends Sh{constructor(t,e){super(),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=e,this.type=3510044353}};class sc extends bh{constructor(t,e,s,i,r){super(t,e),this.ProfileType=t,this.ProfileName=e,this.ParentProfile=s,this.Operator=i,this.Label=r,this.type=3632507154}}t.IfcDerivedProfileDef=sc;t.IfcDocumentInformation=class extends Ih{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(),this.Identification=t,this.Name=e,this.Description=s,this.Location=i,this.Purpose=r,this.IntendedUse=n,this.Scope=a,this.Revision=o,this.DocumentOwner=h,this.Editors=c,this.CreationTime=l,this.LastRevisionTime=p,this.ElectronicFormat=u,this.ValidFrom=E,this.ValidUntil=I,this.Confidentiality=y,this.Status=T,this.type=1154170062}};t.IfcDocumentInformationRelationship=class extends Mh{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.RelatingDocument=s,this.RelatedDocuments=i,this.RelationshipType=r,this.type=770865208}};t.IfcDocumentReference=class extends yh{constructor(t,e,s,i,r){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.Description=i,this.ReferencedDocument=r,this.type=3732053477}};class ic extends Zh{constructor(t,e){super(),this.EdgeStart=t,this.EdgeEnd=e,this.type=3900360178}}t.IfcEdge=ic;t.IfcEdgeCurve=class extends ic{constructor(t,e,s,i){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}};t.IfcEventTime=class extends Uh{constructor(t,e,s,i,r,n,a){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.ActualDate=i,this.EarlyDate=r,this.LateDate=n,this.ScheduleDate=a,this.type=211053100}};class rc extends Ph{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Properties=s,this.type=297599258}}t.IfcExtendedProperties=rc;t.IfcExternalReferenceRelationship=class extends Mh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingReference=s,this.RelatedResourceObjects=i,this.type=1437805879}};class nc extends Zh{constructor(t){super(),this.Bounds=t,this.type=2556980723}}t.IfcFace=nc;class ac extends Zh{constructor(t,e){super(),this.Bound=t,this.Orientation=e,this.type=1809719519}}t.IfcFaceBound=ac;t.IfcFaceOuterBound=class extends ac{constructor(t,e){super(t,e),this.Bound=t,this.Orientation=e,this.type=803316827}};class oc extends nc{constructor(t,e,s){super(t),this.Bounds=t,this.FaceSurface=e,this.SameSense=s,this.type=3008276851}}t.IfcFaceSurface=oc;t.IfcFailureConnectionCondition=class extends Gh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TensionFailureX=e,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=r,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};t.IfcFillAreaStyle=class extends vh{constructor(t,e,s){super(t),this.Name=t,this.FillStyles=e,this.ModelOrDraughting=s,this.type=738692330}};class hc extends xh{constructor(t,e,s,i,r,n){super(t,e),this.ContextIdentifier=t,this.ContextType=e,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=r,this.TrueNorth=n,this.type=3448662350}}t.IfcGeometricRepresentationContext=hc;class cc extends _h{constructor(){super(),this.type=2453401579}}t.IfcGeometricRepresentationItem=cc;t.IfcGeometricRepresentationSubContext=class extends hc{constructor(t,s,i,r,n,a){super(t,s,new e(0),null,new Uu(0),null),this.ContextIdentifier=t,this.ContextType=s,this.ParentContext=i,this.TargetScale=r,this.TargetView=n,this.UserDefinedTargetView=a,this.type=4142052618}};class lc extends cc{constructor(t){super(),this.Elements=t,this.type=3590301190}}t.IfcGeometricSet=lc;t.IfcGridPlacement=class extends Dh{constructor(t,e,s){super(t),this.PlacementRelTo=t,this.PlacementLocation=e,this.PlacementRefDirection=s,this.type=178086475}};class pc extends cc{constructor(t,e){super(),this.BaseSurface=t,this.AgreementFlag=e,this.type=812098782}}t.IfcHalfSpaceSolid=pc;t.IfcImageTexture=class extends Yh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.URLReference=n,this.type=3905492369}};t.IfcIndexedColourMap=class extends Sh{constructor(t,e,s,i){super(),this.MappedTo=t,this.Opacity=e,this.Colours=s,this.ColourIndex=i,this.type=3570813810}};class uc extends kh{constructor(t,e,s){super(t),this.Maps=t,this.MappedTo=e,this.TexCoords=s,this.type=1437953363}}t.IfcIndexedTextureMap=uc;t.IfcIndexedTriangleTextureMap=class extends uc{constructor(t,e,s,i){super(t,e,s),this.Maps=t,this.MappedTo=e,this.TexCoords=s,this.TexCoordIndex=i,this.type=2133299955}};t.IfcIrregularTimeSeries=class extends Kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.Values=h,this.type=3741457305}};t.IfcLagTime=class extends Uh{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.LagValue=i,this.DurationType=r,this.type=1585845231}};class Ec extends cc{constructor(t,e,s,i){super(),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}t.IfcLightSource=Ec;t.IfcLightSourceAmbient=class extends Ec{constructor(t,e,s,i){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}};t.IfcLightSourceDirectional=class extends Ec{constructor(t,e,s,i,r){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=r,this.type=2604431987}};t.IfcLightSourceGoniometric=class extends Ec{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=o,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class Ic extends Ec{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.type=1520743889}}t.IfcLightSourcePositional=Ic;t.IfcLightSourceSpot=class extends Ic{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=l,this.SpreadAngle=p,this.BeamWidthAngle=u,this.type=3422422726}};t.IfcLinearPlacement=class extends Dh{constructor(t,e,s){super(t),this.PlacementRelTo=t,this.RelativePlacement=e,this.CartesianPosition=s,this.type=388784114}};t.IfcLocalPlacement=class extends Dh{constructor(t,e){super(t),this.PlacementRelTo=t,this.RelativePlacement=e,this.type=2624227202}};class yc extends Zh{constructor(){super(),this.type=1008929658}}t.IfcLoop=yc;t.IfcMappedItem=class extends _h{constructor(t,e){super(),this.MappingSource=t,this.MappingTarget=e,this.type=2347385850}};t.IfcMaterial=class extends dh{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Category=s,this.type=1838606355}};t.IfcMaterialConstituent=class extends dh{constructor(t,e,s,i,r){super(),this.Name=t,this.Description=e,this.Material=s,this.Fraction=i,this.Category=r,this.type=3708119e3}};t.IfcMaterialConstituentSet=class extends dh{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.MaterialConstituents=s,this.type=2852063980}};t.IfcMaterialDefinitionRepresentation=class extends Lh{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}};t.IfcMaterialLayerSetUsage=class extends fh{constructor(t,e,s,i,r){super(),this.ForLayerSet=t,this.LayerSetDirection=e,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.ReferenceExtent=r,this.type=1303795690}};class Tc extends fh{constructor(t,e,s){super(),this.ForProfileSet=t,this.CardinalPoint=e,this.ReferenceExtent=s,this.type=3079605661}}t.IfcMaterialProfileSetUsage=Tc;t.IfcMaterialProfileSetUsageTapering=class extends Tc{constructor(t,e,s,i,r){super(t,e,s),this.ForProfileSet=t,this.CardinalPoint=e,this.ReferenceExtent=s,this.ForProfileEndSet=i,this.CardinalEndPoint=r,this.type=3404854881}};t.IfcMaterialProperties=class extends rc{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Properties=s,this.Material=i,this.type=3265635763}};t.IfcMaterialRelationship=class extends Mh{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.RelatingMaterial=s,this.RelatedMaterials=i,this.MaterialExpression=r,this.type=853536259}};t.IfcMirroredProfileDef=class extends sc{constructor(t,e,s,i){super(t,e,s,new Uu(0),i),this.ProfileType=t,this.ProfileName=e,this.ParentProfile=s,this.Label=i,this.type=2998442950}};class dc extends Fh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=219451334}}t.IfcObjectDefinition=dc;t.IfcOpenCrossProfileDef=class extends bh{constructor(t,e,s,i,r,n,a){super(t,e),this.ProfileType=t,this.ProfileName=e,this.HorizontalWidths=s,this.Widths=i,this.Slopes=r,this.Tags=n,this.OffsetPoint=a,this.type=182550632}};t.IfcOpenShell=class extends tc{constructor(t){super(t),this.CfsFaces=t,this.type=2665983363}};t.IfcOrganizationRelationship=class extends Mh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}};t.IfcOrientedEdge=class extends ic{constructor(t,e){super(new Uu(0),new Uu(0)),this.EdgeElement=t,this.Orientation=e,this.type=1029017970}};class Nc extends bh{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.type=2529465313}}t.IfcParameterizedProfileDef=Nc;t.IfcPath=class extends Zh{constructor(t){super(),this.EdgeList=t,this.type=2519244187}};t.IfcPhysicalComplexQuantity=class extends mh{constructor(t,e,s,i,r,n){super(t,e),this.Name=t,this.Description=e,this.HasQuantities=s,this.Discrimination=i,this.Quality=r,this.Usage=n,this.type=3021840470}};t.IfcPixelTexture=class extends Yh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.Width=n,this.Height=a,this.ColourComponents=o,this.Pixel=h,this.type=597895409}};class Rc extends cc{constructor(t){super(),this.Location=t,this.type=2004835150}}t.IfcPlacement=Rc;class fc extends cc{constructor(t,e){super(),this.SizeInX=t,this.SizeInY=e,this.type=1663979128}}t.IfcPlanarExtent=fc;class Oc extends cc{constructor(){super(),this.type=2067069095}}t.IfcPoint=Oc;t.IfcPointByDistanceExpression=class extends Oc{constructor(t,e,s,i,r){super(),this.DistanceAlong=t,this.OffsetLateral=e,this.OffsetVertical=s,this.OffsetLongitudinal=i,this.BasisCurve=r,this.type=2165702409}};t.IfcPointOnCurve=class extends Oc{constructor(t,e){super(),this.BasisCurve=t,this.PointParameter=e,this.type=4022376103}};t.IfcPointOnSurface=class extends Oc{constructor(t,e,s){super(),this.BasisSurface=t,this.PointParameterU=e,this.PointParameterV=s,this.type=1423911732}};t.IfcPolyLoop=class extends yc{constructor(t){super(),this.Polygon=t,this.type=2924175390}};t.IfcPolygonalBoundedHalfSpace=class extends pc{constructor(t,e,s,i){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class Dc extends Sh{constructor(t){super(),this.Name=t,this.type=3727388367}}t.IfcPreDefinedItem=Dc;class mc extends Ph{constructor(){super(),this.type=3778827333}}t.IfcPreDefinedProperties=mc;class Ac extends Dc{constructor(t){super(t),this.Name=t,this.type=1775413392}}t.IfcPreDefinedTextFont=Ac;t.IfcProductDefinitionShape=class extends Lh{constructor(t,e,s){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.type=673634403}};t.IfcProfileProperties=class extends rc{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Properties=s,this.ProfileDefinition=i,this.type=2802850158}};class Sc extends Ph{constructor(t,e){super(),this.Name=t,this.Specification=e,this.type=2598011224}}t.IfcProperty=Sc;class Cc extends Fh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=1680319473}}t.IfcPropertyDefinition=Cc;t.IfcPropertyDependencyRelationship=class extends Mh{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.DependingProperty=s,this.DependantProperty=i,this.Expression=r,this.type=148025276}};class vc extends Cc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3357820518}}t.IfcPropertySetDefinition=vc;class Lc extends Cc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=1482703590}}t.IfcPropertyTemplateDefinition=Lc;class bc extends vc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2090586900}}t.IfcQuantitySet=bc;class Pc extends Nc{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.type=3615266464}}t.IfcRectangleProfileDef=Pc;t.IfcRegularTimeSeries=class extends Kh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.TimeStep=h,this.Values=c,this.type=3413951693}};t.IfcReinforcementBarProperties=class extends mc{constructor(t,e,s,i,r,n){super(),this.TotalCrossSectionArea=t,this.SteelGrade=e,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=r,this.BarCount=n,this.type=1580146022}};class gc extends Fh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=478536968}}t.IfcRelationship=gc;t.IfcResourceApprovalRelationship=class extends Mh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatedResourceObjects=s,this.RelatingApproval=i,this.type=2943643501}};t.IfcResourceConstraintRelationship=class extends Mh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingConstraint=s,this.RelatedResourceObjects=i,this.type=1608871552}};t.IfcResourceTime=class extends Uh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.ScheduleWork=i,this.ScheduleUsage=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.ScheduleContour=o,this.LevelingDelay=h,this.IsOverAllocated=c,this.StatusTime=l,this.ActualWork=p,this.ActualUsage=u,this.ActualStart=E,this.ActualFinish=I,this.RemainingWork=y,this.RemainingUsage=T,this.Completion=d,this.type=1042787934}};t.IfcRoundedRectangleProfileDef=class extends Pc{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.RoundingRadius=n,this.type=2778083089}};t.IfcSectionProperties=class extends mc{constructor(t,e,s){super(),this.SectionType=t,this.StartProfile=e,this.EndProfile=s,this.type=2042790032}};t.IfcSectionReinforcementProperties=class extends mc{constructor(t,e,s,i,r,n){super(),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=e,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=r,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};t.IfcSectionedSpine=class extends cc{constructor(t,e,s){super(),this.SpineCurve=t,this.CrossSections=e,this.CrossSectionPositions=s,this.type=1509187699}};class xc extends cc{constructor(t){super(),this.Transition=t,this.type=823603102}}t.IfcSegment=xc;t.IfcShellBasedSurfaceModel=class extends cc{constructor(t){super(),this.SbsmBoundary=t,this.type=4124623270}};class _c extends Sc{constructor(t,e){super(t,e),this.Name=t,this.Specification=e,this.type=3692461612}}t.IfcSimpleProperty=_c;t.IfcSlippageConnectionCondition=class extends Gh{constructor(t,e,s,i){super(t),this.Name=t,this.SlippageX=e,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class Mc extends cc{constructor(){super(),this.type=723233188}}t.IfcSolidModel=Mc;t.IfcStructuralLoadLinearForce=class extends Vh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.LinearForceX=e,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=r,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};t.IfcStructuralLoadPlanarForce=class extends Vh{constructor(t,e,s,i){super(t),this.Name=t,this.PlanarForceX=e,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class Fc extends Vh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}t.IfcStructuralLoadSingleDisplacement=Fc;t.IfcStructuralLoadSingleDisplacementDistortion=class extends Fc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=o,this.type=1973038258}};class Uc extends Vh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}t.IfcStructuralLoadSingleForce=Uc;t.IfcStructuralLoadSingleForceWarping=class extends Uc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=o,this.type=1190533807}};t.IfcSubedge=class extends ic{constructor(t,e,s){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.ParentEdge=s,this.type=2233826070}};class wc extends cc{constructor(){super(),this.type=2513912981}}t.IfcSurface=wc;t.IfcSurfaceStyleRendering=class extends jh{constructor(t,e,s,i,r,n,a,o,h){super(t,e),this.SurfaceColour=t,this.Transparency=e,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=r,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=o,this.ReflectanceMethod=h,this.type=1878645084}};class Gc extends Mc{constructor(t,e){super(),this.SweptArea=t,this.Position=e,this.type=2247615214}}t.IfcSweptAreaSolid=Gc;class Hc extends Mc{constructor(t,e,s,i,r){super(),this.Directrix=t,this.Radius=e,this.InnerRadius=s,this.StartParam=i,this.EndParam=r,this.type=1260650574}}t.IfcSweptDiskSolid=Hc;t.IfcSweptDiskSolidPolygonal=class extends Hc{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.Directrix=t,this.Radius=e,this.InnerRadius=s,this.StartParam=i,this.EndParam=r,this.FilletRadius=n,this.type=1096409881}};class Bc extends wc{constructor(t,e){super(),this.SweptCurve=t,this.Position=e,this.type=230924584}}t.IfcSweptSurface=Bc;t.IfcTShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=l,this.FlangeSlope=p,this.type=3071757647}};class Vc extends cc{constructor(){super(),this.type=901063453}}t.IfcTessellatedItem=Vc;class Wc extends cc{constructor(t,e,s){super(),this.Literal=t,this.Placement=e,this.Path=s,this.type=4282788508}}t.IfcTextLiteral=Wc;t.IfcTextLiteralWithExtent=class extends Wc{constructor(t,e,s,i,r){super(t,e,s),this.Literal=t,this.Placement=e,this.Path=s,this.Extent=i,this.BoxAlignment=r,this.type=3124975700}};t.IfcTextStyleFontModel=class extends Ac{constructor(t,e,s,i,r,n){super(t),this.Name=t,this.FontFamily=e,this.FontStyle=s,this.FontVariant=i,this.FontWeight=r,this.FontSize=n,this.type=1983826977}};t.IfcTrapeziumProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.BottomXDim=i,this.TopXDim=r,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};class jc extends dc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.type=1628702193}}t.IfcTypeObject=jc;class Yc extends jc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.type=3736923433}}t.IfcTypeProcess=Yc;class zc extends jc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.type=2347495698}}t.IfcTypeProduct=zc;class kc extends jc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.type=3698973494}}t.IfcTypeResource=kc;t.IfcUShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.FlangeSlope=c,this.type=427810014}};t.IfcVector=class extends cc{constructor(t,e){super(),this.Orientation=t,this.Magnitude=e,this.type=1417489154}};t.IfcVertexLoop=class extends yc{constructor(t){super(),this.LoopVertex=t,this.type=2759199220}};t.IfcZShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.type=2543172580}};t.IfcAdvancedFace=class extends oc{constructor(t,e,s){super(t,e,s),this.Bounds=t,this.FaceSurface=e,this.SameSense=s,this.type=3406155212}};t.IfcAnnotationFillArea=class extends cc{constructor(t,e){super(),this.OuterBoundary=t,this.InnerBoundaries=e,this.type=669184980}};t.IfcAsymmetricIShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.BottomFlangeWidth=i,this.OverallDepth=r,this.WebThickness=n,this.BottomFlangeThickness=a,this.BottomFlangeFilletRadius=o,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=l,this.BottomFlangeEdgeRadius=p,this.BottomFlangeSlope=u,this.TopFlangeEdgeRadius=E,this.TopFlangeSlope=I,this.type=3207858831}};t.IfcAxis1Placement=class extends Rc{constructor(t,e){super(t),this.Location=t,this.Axis=e,this.type=4261334040}};t.IfcAxis2Placement2D=class extends Rc{constructor(t,e){super(t),this.Location=t,this.RefDirection=e,this.type=3125803723}};t.IfcAxis2Placement3D=class extends Rc{constructor(t,e,s){super(t),this.Location=t,this.Axis=e,this.RefDirection=s,this.type=2740243338}};t.IfcAxis2PlacementLinear=class extends Rc{constructor(t,e,s){super(t),this.Location=t,this.Axis=e,this.RefDirection=s,this.type=3425423356}};class Xc extends cc{constructor(t,e,s){super(),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=2736907675}}t.IfcBooleanResult=Xc;class Kc extends wc{constructor(){super(),this.type=4182860854}}t.IfcBoundedSurface=Kc;t.IfcBoundingBox=class extends cc{constructor(t,e,s,i){super(),this.Corner=t,this.XDim=e,this.YDim=s,this.ZDim=i,this.type=2581212453}};t.IfcBoxedHalfSpace=class extends pc{constructor(t,e,s){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Enclosure=s,this.type=2713105998}};t.IfcCShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=o,this.type=2898889636}};t.IfcCartesianPoint=class extends Oc{constructor(t){super(),this.Coordinates=t,this.type=1123145078}};class Zc extends cc{constructor(){super(),this.type=574549367}}t.IfcCartesianPointList=Zc;t.IfcCartesianPointList2D=class extends Zc{constructor(t,e){super(),this.CoordList=t,this.TagList=e,this.type=1675464909}};t.IfcCartesianPointList3D=class extends Zc{constructor(t,e){super(),this.CoordList=t,this.TagList=e,this.type=2059837836}};class qc extends cc{constructor(t,e,s,i){super(),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}t.IfcCartesianTransformationOperator=qc;class Qc extends qc{constructor(t,e,s,i){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}t.IfcCartesianTransformationOperator2D=Qc;t.IfcCartesianTransformationOperator2DnonUniform=class extends Qc{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Scale2=r,this.type=3486308946}};class Jc extends qc{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.type=3331915920}}t.IfcCartesianTransformationOperator3D=Jc;t.IfcCartesianTransformationOperator3DnonUniform=class extends Jc{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class $c extends Nc{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.type=1383045692}}t.IfcCircleProfileDef=$c;t.IfcClosedShell=class extends tc{constructor(t){super(t),this.CfsFaces=t,this.type=2205249479}};t.IfcColourRgb=class extends $h{constructor(t,e,s,i){super(t),this.Name=t,this.Red=e,this.Green=s,this.Blue=i,this.type=776857604}};t.IfcComplexProperty=class extends Sc{constructor(t,e,s,i){super(t,e),this.Name=t,this.Specification=e,this.UsageName=s,this.HasProperties=i,this.type=2542286263}};class tl extends xc{constructor(t,e,s){super(t),this.Transition=t,this.SameSense=e,this.ParentCurve=s,this.type=2485617015}}t.IfcCompositeCurveSegment=tl;class el extends kc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.type=2574617495}}t.IfcConstructionResourceType=el;class sl extends dc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=3419103109}}t.IfcContext=sl;t.IfcCrewResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=1815067380}};class il extends cc{constructor(t){super(),this.Position=t,this.type=2506170314}}t.IfcCsgPrimitive3D=il;t.IfcCsgSolid=class extends Mc{constructor(t){super(),this.TreeRootExpression=t,this.type=2147822146}};class rl extends cc{constructor(){super(),this.type=2601014836}}t.IfcCurve=rl;t.IfcCurveBoundedPlane=class extends Kc{constructor(t,e,s){super(),this.BasisSurface=t,this.OuterBoundary=e,this.InnerBoundaries=s,this.type=2827736869}};t.IfcCurveBoundedSurface=class extends Kc{constructor(t,e,s){super(),this.BasisSurface=t,this.Boundaries=e,this.ImplicitOuter=s,this.type=2629017746}};t.IfcCurveSegment=class extends xc{constructor(t,e,s,i,r){super(t),this.Transition=t,this.Placement=e,this.SegmentStart=s,this.SegmentLength=i,this.ParentCurve=r,this.type=4212018352}};t.IfcDirection=class extends cc{constructor(t){super(),this.DirectionRatios=t,this.type=32440307}};class nl extends Gc{constructor(t,e,s,i,r){super(t,e),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.type=593015953}}t.IfcDirectrixCurveSweptAreaSolid=nl;t.IfcEdgeLoop=class extends yc{constructor(t){super(),this.EdgeList=t,this.type=1472233963}};t.IfcElementQuantity=class extends bc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.MethodOfMeasurement=r,this.Quantities=n,this.type=1883228015}};class al extends zc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=339256511}}t.IfcElementType=al;class ol extends wc{constructor(t){super(),this.Position=t,this.type=2777663545}}t.IfcElementarySurface=ol;t.IfcEllipseProfileDef=class extends Nc{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=r,this.type=2835456948}};t.IfcEventType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.EventTriggerType=l,this.UserDefinedEventTriggerType=p,this.type=4024345920}};class hl extends Gc{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}}t.IfcExtrudedAreaSolid=hl;t.IfcExtrudedAreaSolidTapered=class extends hl{constructor(t,e,s,i,r){super(t,e,s,i),this.SweptArea=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.EndSweptArea=r,this.type=2804161546}};t.IfcFaceBasedSurfaceModel=class extends cc{constructor(t){super(),this.FbsmFaces=t,this.type=2047409740}};t.IfcFillAreaStyleHatching=class extends cc{constructor(t,e,s,i,r){super(),this.HatchLineAppearance=t,this.StartOfNextHatchLine=e,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=r,this.type=374418227}};t.IfcFillAreaStyleTiles=class extends cc{constructor(t,e,s){super(),this.TilingPattern=t,this.Tiles=e,this.TilingScale=s,this.type=315944413}};class cl extends nl{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.FixedReference=n,this.type=2652556860}}t.IfcFixedReferenceSweptAreaSolid=cl;class ll extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=4238390223}}t.IfcFurnishingElementType=ll;t.IfcFurnitureType=class extends ll{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.AssemblyPlace=c,this.PredefinedType=l,this.type=1268542332}};t.IfcGeographicElementType=class extends al{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4095422895}};t.IfcGeometricCurveSet=class extends lc{constructor(t){super(t),this.Elements=t,this.type=987898635}};t.IfcIShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallWidth=i,this.OverallDepth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.FlangeEdgeRadius=h,this.FlangeSlope=c,this.type=1484403080}};class pl extends Vc{constructor(t){super(),this.CoordIndex=t,this.type=178912537}}t.IfcIndexedPolygonalFace=pl;t.IfcIndexedPolygonalFaceWithVoids=class extends pl{constructor(t,e){super(t),this.CoordIndex=t,this.InnerCoordIndices=e,this.type=2294589976}};t.IfcIndexedPolygonalTextureMap=class extends uc{constructor(t,e,s,i){super(t,e,s),this.Maps=t,this.MappedTo=e,this.TexCoords=s,this.TexCoordIndices=i,this.type=3465909080}};t.IfcLShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=o,this.LegSlope=h,this.type=572779678}};t.IfcLaborResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=428585644}};t.IfcLine=class extends rl{constructor(t,e){super(),this.Pnt=t,this.Dir=e,this.type=1281925730}};class ul extends Mc{constructor(t){super(),this.Outer=t,this.type=1425443689}}t.IfcManifoldSolidBrep=ul;class El extends dc{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3888040117}}t.IfcObject=El;class Il extends rl{constructor(t){super(),this.BasisCurve=t,this.type=590820931}}t.IfcOffsetCurve=Il;t.IfcOffsetCurve2D=class extends Il{constructor(t,e,s){super(t),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.type=3388369263}};t.IfcOffsetCurve3D=class extends Il{constructor(t,e,s,i){super(t),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}};t.IfcOffsetCurveByDistances=class extends Il{constructor(t,e,s){super(t),this.BasisCurve=t,this.OffsetValues=e,this.Tag=s,this.type=2485787929}};t.IfcPcurve=class extends rl{constructor(t,e){super(),this.BasisSurface=t,this.ReferenceCurve=e,this.type=1682466193}};t.IfcPlanarBox=class extends fc{constructor(t,e,s){super(t,e),this.SizeInX=t,this.SizeInY=e,this.Placement=s,this.type=603570806}};t.IfcPlane=class extends ol{constructor(t){super(t),this.Position=t,this.type=220341763}};t.IfcPolynomialCurve=class extends rl{constructor(t,e,s,i){super(),this.Position=t,this.CoefficientsX=e,this.CoefficientsY=s,this.CoefficientsZ=i,this.type=3381221214}};class yl extends Dc{constructor(t){super(t),this.Name=t,this.type=759155922}}t.IfcPreDefinedColour=yl;class Tl extends Dc{constructor(t){super(t),this.Name=t,this.type=2559016684}}t.IfcPreDefinedCurveFont=Tl;class dl extends vc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3967405729}}t.IfcPreDefinedPropertySet=dl;t.IfcProcedureType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.type=569719735}};class Nl extends El{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.type=2945172077}}t.IfcProcess=Nl;class Rl extends El{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}t.IfcProduct=Rl;t.IfcProject=class extends sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=103090709}};t.IfcProjectLibrary=class extends sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=653396225}};t.IfcPropertyBoundedValue=class extends _c{constructor(t,e,s,i,r,n){super(t,e),this.Name=t,this.Specification=e,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=r,this.SetPointValue=n,this.type=871118103}};t.IfcPropertyEnumeratedValue=class extends _c{constructor(t,e,s,i){super(t,e),this.Name=t,this.Specification=e,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}};t.IfcPropertyListValue=class extends _c{constructor(t,e,s,i){super(t,e),this.Name=t,this.Specification=e,this.ListValues=s,this.Unit=i,this.type=2752243245}};t.IfcPropertyReferenceValue=class extends _c{constructor(t,e,s,i){super(t,e),this.Name=t,this.Specification=e,this.UsageName=s,this.PropertyReference=i,this.type=941946838}};t.IfcPropertySet=class extends vc{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.HasProperties=r,this.type=1451395588}};t.IfcPropertySetTemplate=class extends Lc{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.TemplateType=r,this.ApplicableEntity=n,this.HasPropertyTemplates=a,this.type=492091185}};t.IfcPropertySingleValue=class extends _c{constructor(t,e,s,i){super(t,e),this.Name=t,this.Specification=e,this.NominalValue=s,this.Unit=i,this.type=3650150729}};t.IfcPropertyTableValue=class extends _c{constructor(t,e,s,i,r,n,a,o){super(t,e),this.Name=t,this.Specification=e,this.DefiningValues=s,this.DefinedValues=i,this.Expression=r,this.DefiningUnit=n,this.DefinedUnit=a,this.CurveInterpolation=o,this.type=110355661}};class fl extends Lc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3521284610}}t.IfcPropertyTemplate=fl;t.IfcRectangleHollowProfileDef=class extends Pc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=o,this.type=2770003689}};t.IfcRectangularPyramid=class extends il{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.Height=i,this.type=2798486643}};t.IfcRectangularTrimmedSurface=class extends Kc{constructor(t,e,s,i,r,n,a){super(),this.BasisSurface=t,this.U1=e,this.V1=s,this.U2=i,this.V2=r,this.Usense=n,this.Vsense=a,this.type=3454111270}};t.IfcReinforcementDefinitionProperties=class extends dl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.DefinitionType=r,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class Ol extends gc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.type=3939117080}}t.IfcRelAssigns=Ol;t.IfcRelAssignsToActor=class extends Ol{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=o,this.type=1683148259}};t.IfcRelAssignsToControl=class extends Ol{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}};class Dl extends Ol{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}}t.IfcRelAssignsToGroup=Dl;t.IfcRelAssignsToGroupByFactor=class extends Dl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingGroup=a,this.Factor=o,this.type=1027710054}};t.IfcRelAssignsToProcess=class extends Ol{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=o,this.type=4278684876}};t.IfcRelAssignsToProduct=class extends Ol{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};t.IfcRelAssignsToResource=class extends Ol{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class ml extends gc{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.type=1865459582}}t.IfcRelAssociates=ml;t.IfcRelAssociatesApproval=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingApproval=n,this.type=4095574036}};t.IfcRelAssociatesClassification=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingClassification=n,this.type=919958153}};t.IfcRelAssociatesConstraint=class extends ml{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};t.IfcRelAssociatesDocument=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingDocument=n,this.type=982818633}};t.IfcRelAssociatesLibrary=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingLibrary=n,this.type=3840914261}};t.IfcRelAssociatesMaterial=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingMaterial=n,this.type=2655215786}};t.IfcRelAssociatesProfileDef=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingProfileDef=n,this.type=1033248425}};class Al extends gc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=826625072}}t.IfcRelConnects=Al;class Sl extends Al{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}t.IfcRelConnectsElements=Sl;t.IfcRelConnectsPathElements=class extends Sl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=o,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=l,this.type=3945020480}};t.IfcRelConnectsPortToElement=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedElement=n,this.type=4201705270}};t.IfcRelConnectsPorts=class extends Al{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};t.IfcRelConnectsStructuralActivity=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedStructuralActivity=n,this.type=2127690289}};class Cl extends Al{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}t.IfcRelConnectsStructuralMember=Cl;t.IfcRelConnectsWithEccentricity=class extends Cl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=l,this.type=504942748}};t.IfcRelConnectsWithRealizingElements=class extends Sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=o,this.ConnectionType=h,this.type=3678494232}};t.IfcRelContainedInSpatialStructure=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=3242617779}};t.IfcRelCoversBldgElements=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedCoverings=n,this.type=886880790}};t.IfcRelCoversSpaces=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedCoverings=n,this.type=2802773753}};t.IfcRelDeclares=class extends gc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingContext=r,this.RelatedDefinitions=n,this.type=2565941209}};class vl extends gc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2551354335}}t.IfcRelDecomposes=vl;class Ll extends gc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=693640335}}t.IfcRelDefines=Ll;t.IfcRelDefinesByObject=class extends Ll{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingObject=n,this.type=1462361463}};t.IfcRelDefinesByProperties=class extends Ll{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingPropertyDefinition=n,this.type=4186316022}};t.IfcRelDefinesByTemplate=class extends Ll{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedPropertySets=r,this.RelatingTemplate=n,this.type=307848117}};t.IfcRelDefinesByType=class extends Ll{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingType=n,this.type=781010003}};t.IfcRelFillsElement=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingOpeningElement=r,this.RelatedBuildingElement=n,this.type=3940055652}};t.IfcRelFlowControlElements=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedControlElements=r,this.RelatingFlowElement=n,this.type=279856033}};t.IfcRelInterferesElements=class extends Al{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedElement=n,this.InterferenceGeometry=a,this.InterferenceType=o,this.ImpliedOrder=h,this.InterferenceSpace=c,this.type=427948657}};t.IfcRelNests=class extends vl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=3268803585}};t.IfcRelPositions=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPositioningElement=r,this.RelatedProducts=n,this.type=1441486842}};t.IfcRelProjectsElement=class extends vl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedFeatureElement=n,this.type=750771296}};t.IfcRelReferencedInSpatialStructure=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=1245217292}};t.IfcRelSequence=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingProcess=r,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=o,this.UserDefinedSequenceType=h,this.type=4122056220}};t.IfcRelServicesBuildings=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSystem=r,this.RelatedBuildings=n,this.type=366585022}};class bl extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.type=3451746338}}t.IfcRelSpaceBoundary=bl;class Pl extends bl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.type=3523091289}}t.IfcRelSpaceBoundary1stLevel=Pl;t.IfcRelSpaceBoundary2ndLevel=class extends Pl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.CorrespondingBoundary=l,this.type=1521410863}};t.IfcRelVoidsElement=class extends vl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedOpeningElement=n,this.type=1401173127}};t.IfcReparametrisedCompositeCurveSegment=class extends tl{constructor(t,e,s,i){super(t,e,s),this.Transition=t,this.SameSense=e,this.ParentCurve=s,this.ParamLength=i,this.type=816062949}};class gl extends El{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.type=2914609552}}t.IfcResource=gl;class xl extends Gc{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.Axis=s,this.Angle=i,this.type=1856042241}}t.IfcRevolvedAreaSolid=xl;t.IfcRevolvedAreaSolidTapered=class extends xl{constructor(t,e,s,i,r){super(t,e,s,i),this.SweptArea=t,this.Position=e,this.Axis=s,this.Angle=i,this.EndSweptArea=r,this.type=3243963512}};t.IfcRightCircularCone=class extends il{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.BottomRadius=s,this.type=4158566097}};t.IfcRightCircularCylinder=class extends il{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.Radius=s,this.type=3626867408}};class _l extends Mc{constructor(t,e){super(),this.Directrix=t,this.CrossSections=e,this.type=1862484736}}t.IfcSectionedSolid=_l;t.IfcSectionedSolidHorizontal=class extends _l{constructor(t,e,s){super(t,e),this.Directrix=t,this.CrossSections=e,this.CrossSectionPositions=s,this.type=1290935644}};t.IfcSectionedSurface=class extends wc{constructor(t,e,s){super(),this.Directrix=t,this.CrossSectionPositions=e,this.CrossSections=s,this.type=1356537516}};t.IfcSimplePropertyTemplate=class extends fl{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.TemplateType=r,this.PrimaryMeasureType=n,this.SecondaryMeasureType=a,this.Enumerators=o,this.PrimaryUnit=h,this.SecondaryUnit=c,this.Expression=l,this.AccessState=p,this.type=3663146110}};class Ml extends Rl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.type=1412071761}}t.IfcSpatialElement=Ml;class Fl extends zc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=710998568}}t.IfcSpatialElementType=Fl;class Ul extends Ml{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.type=2706606064}}t.IfcSpatialStructureElement=Ul;class wl extends Fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3893378262}}t.IfcSpatialStructureElementType=wl;t.IfcSpatialZone=class extends Ml{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.PredefinedType=h,this.type=463610769}};t.IfcSpatialZoneType=class extends Fl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.LongName=l,this.type=2481509218}};t.IfcSphere=class extends il{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=451544542}};t.IfcSphericalSurface=class extends ol{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=4015995234}};class Gl extends rl{constructor(t){super(),this.Position=t,this.type=2735484536}}t.IfcSpiral=Gl;class Hl extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3544373492}}t.IfcStructuralActivity=Hl;class Bl extends Rl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}t.IfcStructuralItem=Bl;class Vl extends Bl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}t.IfcStructuralMember=Vl;class Wl extends Hl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3689010777}}t.IfcStructuralReaction=Wl;class jl extends Vl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.type=3979015343}}t.IfcStructuralSurfaceMember=jl;t.IfcStructuralSurfaceMemberVarying=class extends jl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.type=2218152070}};t.IfcStructuralSurfaceReaction=class extends Wl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=603775116}};t.IfcSubContractResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=4095615324}};class Yl extends rl{constructor(t,e,s){super(),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=699246055}}t.IfcSurfaceCurve=Yl;t.IfcSurfaceCurveSweptAreaSolid=class extends nl{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.ReferenceSurface=n,this.type=2028607225}};t.IfcSurfaceOfLinearExtrusion=class extends Bc{constructor(t,e,s,i){super(t,e),this.SweptCurve=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}};t.IfcSurfaceOfRevolution=class extends Bc{constructor(t,e,s){super(t,e),this.SweptCurve=t,this.Position=e,this.AxisPosition=s,this.type=4124788165}};t.IfcSystemFurnitureElementType=class extends ll{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1580310250}};t.IfcTask=class extends Nl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Status=o,this.WorkMethod=h,this.IsMilestone=c,this.Priority=l,this.TaskTime=p,this.PredefinedType=u,this.type=3473067441}};t.IfcTaskType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.WorkMethod=l,this.type=3206491090}};class zl extends Vc{constructor(t){super(),this.Coordinates=t,this.type=2387106220}}t.IfcTessellatedFaceSet=zl;t.IfcThirdOrderPolynomialSpiral=class extends Gl{constructor(t,e,s,i,r){super(t),this.Position=t,this.CubicTerm=e,this.QuadraticTerm=s,this.LinearTerm=i,this.ConstantTerm=r,this.type=782932809}};t.IfcToroidalSurface=class extends ol{constructor(t,e,s){super(t),this.Position=t,this.MajorRadius=e,this.MinorRadius=s,this.type=1935646853}};class kl extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3665877780}}t.IfcTransportationDeviceType=kl;class Xl extends zl{constructor(t,e,s,i,r){super(t),this.Coordinates=t,this.Normals=e,this.Closed=s,this.CoordIndex=i,this.PnIndex=r,this.type=2916149573}}t.IfcTriangulatedFaceSet=Xl;t.IfcTriangulatedIrregularNetwork=class extends Xl{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.Coordinates=t,this.Normals=e,this.Closed=s,this.CoordIndex=i,this.PnIndex=r,this.Flags=n,this.type=1229763772}};t.IfcVehicleType=class extends kl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3651464721}};t.IfcWindowLiningProperties=class extends dl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=o,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=l,this.SecondMullionOffset=p,this.ShapeAspectStyle=u,this.LiningOffset=E,this.LiningToPanelOffsetX=I,this.LiningToPanelOffsetY=y,this.type=336235671}};t.IfcWindowPanelProperties=class extends dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=512836454}};class Kl extends El{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.type=2296667514}}t.IfcActor=Kl;class Zl extends ul{constructor(t){super(t),this.Outer=t,this.type=1635779807}}t.IfcAdvancedBrep=Zl;t.IfcAdvancedBrepWithVoids=class extends Zl{constructor(t,e){super(t),this.Outer=t,this.Voids=e,this.type=2603310189}};t.IfcAnnotation=class extends Rl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.type=1674181508}};class ql extends Kc{constructor(t,e,s,i,r,n,a){super(),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.type=2887950389}}t.IfcBSplineSurface=ql;class Ql extends ql{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=o,this.VMultiplicities=h,this.UKnots=c,this.VKnots=l,this.KnotSpec=p,this.type=167062518}}t.IfcBSplineSurfaceWithKnots=Ql;t.IfcBlock=class extends il{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.ZLength=i,this.type=1334484129}};t.IfcBooleanClippingResult=class extends Xc{constructor(t,e,s){super(t,e,s),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=3649129432}};class Jl extends rl{constructor(){super(),this.type=1260505505}}t.IfcBoundedCurve=Jl;t.IfcBuildingStorey=class extends Ul{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};class $l extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1626504194}}t.IfcBuiltElementType=$l;t.IfcChimneyType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2197970202}};t.IfcCircleHollowProfileDef=class extends $c{constructor(t,e,s,i,r){super(t,e,s,i),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.WallThickness=r,this.type=2937912522}};t.IfcCivilElementType=class extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3893394355}};t.IfcClothoid=class extends Gl{constructor(t,e){super(t),this.Position=t,this.ClothoidConstant=e,this.type=3497074424}};t.IfcColumnType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};t.IfcComplexPropertyTemplate=class extends fl{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.UsageName=r,this.TemplateType=n,this.HasPropertyTemplates=a,this.type=3875453745}};class tp extends Jl{constructor(t,e){super(),this.Segments=t,this.SelfIntersect=e,this.type=3732776249}}t.IfcCompositeCurve=tp;class ep extends tp{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=15328376}}t.IfcCompositeCurveOnSurface=ep;class sp extends rl{constructor(t){super(),this.Position=t,this.type=2510884976}}t.IfcConic=sp;t.IfcConstructionEquipmentResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=2185764099}};t.IfcConstructionMaterialResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=4105962743}};t.IfcConstructionProductResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=1525564444}};class ip extends gl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.type=2559216714}}t.IfcConstructionResource=ip;class rp extends El{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.type=3293443760}}t.IfcControl=rp;t.IfcCosineSpiral=class extends Gl{constructor(t,e,s){super(t),this.Position=t,this.CosineTerm=e,this.ConstantTerm=s,this.type=2000195564}};t.IfcCostItem=class extends rp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.CostValues=o,this.CostQuantities=h,this.type=3895139033}};t.IfcCostSchedule=class extends rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.SubmittedOn=h,this.UpdateDate=c,this.type=1419761937}};t.IfcCourseType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4189326743}};t.IfcCoveringType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};t.IfcCrewResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3295246426}};t.IfcCurtainWallType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};t.IfcCylindricalSurface=class extends ol{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=1213902940}};class np extends $l{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1306400036}}t.IfcDeepFoundationType=np;t.IfcDirectrixDerivedReferenceSweptAreaSolid=class extends cl{constructor(t,e,s,i,r,n){super(t,e,s,i,r,n),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.FixedReference=n,this.type=4234616927}};class ap extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3256556792}}t.IfcDistributionElementType=ap;class op extends ap{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3849074793}}t.IfcDistributionFlowElementType=op;t.IfcDoorLiningProperties=class extends dl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=o,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=l,this.ThresholdOffset=p,this.CasingThickness=u,this.CasingDepth=E,this.ShapeAspectStyle=I,this.LiningToPanelOffsetX=y,this.LiningToPanelOffsetY=T,this.type=2963535650}};t.IfcDoorPanelProperties=class extends dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.PanelDepth=r,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=o,this.ShapeAspectStyle=h,this.type=1714330368}};t.IfcDoorType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.OperationType=l,this.ParameterTakesPrecedence=p,this.UserDefinedOperationType=u,this.type=2323601079}};t.IfcDraughtingPreDefinedColour=class extends yl{constructor(t){super(t),this.Name=t,this.type=445594917}};t.IfcDraughtingPreDefinedCurveFont=class extends Tl{constructor(t){super(t),this.Name=t,this.type=4006246654}};class hp extends Rl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1758889154}}t.IfcElement=hp;t.IfcElementAssembly=class extends hp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};t.IfcElementAssemblyType=class extends al{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2397081782}};class cp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1623761950}}t.IfcElementComponent=cp;class lp extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2590856083}}t.IfcElementComponentType=lp;t.IfcEllipse=class extends sp{constructor(t,e,s){super(t),this.Position=t,this.SemiAxis1=e,this.SemiAxis2=s,this.type=1704287377}};class pp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2107101300}}t.IfcEnergyConversionDeviceType=pp;t.IfcEngineType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=132023988}};t.IfcEvaporativeCoolerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};t.IfcEvaporatorType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};t.IfcEvent=class extends Nl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.PredefinedType=o,this.EventTriggerType=h,this.UserDefinedEventTriggerType=c,this.EventOccurenceTime=l,this.type=4148101412}};class up extends Ml{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.type=2853485674}}t.IfcExternalSpatialStructureElement=up;class Ep extends ul{constructor(t){super(t),this.Outer=t,this.type=807026263}}t.IfcFacetedBrep=Ep;t.IfcFacetedBrepWithVoids=class extends Ep{constructor(t,e){super(t),this.Outer=t,this.Voids=e,this.type=3737207727}};class Ip extends Ul{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.type=24185140}}t.IfcFacility=Ip;class yp extends Ul{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.type=1310830890}}t.IfcFacilityPart=yp;t.IfcFacilityPartCommon=class extends yp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.PredefinedType=l,this.type=4228831410}};t.IfcFastener=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=647756555}};t.IfcFastenerType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2489546625}};class Tp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2827207264}}t.IfcFeatureElement=Tp;class dp extends Tp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2143335405}}t.IfcFeatureElementAddition=dp;class Np extends Tp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1287392070}}t.IfcFeatureElementSubtraction=Np;class Rp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3907093117}}t.IfcFlowControllerType=Rp;class fp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3198132628}}t.IfcFlowFittingType=fp;t.IfcFlowMeterType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class Op extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1482959167}}t.IfcFlowMovingDeviceType=Op;class Dp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1834744321}}t.IfcFlowSegmentType=Dp;class mp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1339347760}}t.IfcFlowStorageDeviceType=mp;class Ap extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2297155007}}t.IfcFlowTerminalType=Ap;class Sp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3009222698}}t.IfcFlowTreatmentDeviceType=Sp;t.IfcFootingType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1893162501}};class Cp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=263784265}}t.IfcFurnishingElement=Cp;t.IfcFurniture=class extends Cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1509553395}};t.IfcGeographicElement=class extends hp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3493046030}};class vp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=4230923436}}t.IfcGeotechnicalElement=vp;t.IfcGeotechnicalStratum=class extends vp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1594536857}};t.IfcGradientCurve=class extends tp{constructor(t,e,s,i){super(t,e),this.Segments=t,this.SelfIntersect=e,this.BaseCurve=s,this.EndPoint=i,this.type=2898700619}};class Lp extends El{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2706460486}}t.IfcGroup=Lp;t.IfcHeatExchangerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};t.IfcHumidifierType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};t.IfcImpactProtectionDevice=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2568555532}};t.IfcImpactProtectionDeviceType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3948183225}};t.IfcIndexedPolyCurve=class extends Jl{constructor(t,e,s){super(),this.Points=t,this.Segments=e,this.SelfIntersect=s,this.type=2571569899}};t.IfcInterceptorType=class extends Sp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3946677679}};t.IfcIntersectionCurve=class extends Yl{constructor(t,e,s){super(t,e,s),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=3113134337}};t.IfcInventory=class extends Lp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.Jurisdiction=a,this.ResponsiblePersons=o,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=l,this.type=2391368822}};t.IfcJunctionBoxType=class extends fp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};t.IfcKerbType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=679976338}};t.IfcLaborResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3827777499}};t.IfcLampType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};t.IfcLightFixtureType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};class bp extends Rl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=2176059722}}t.IfcLinearElement=bp;t.IfcLiquidTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1770583370}};t.IfcMarineFacility=class extends Ip{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.type=525669439}};t.IfcMarinePart=class extends yp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.PredefinedType=l,this.type=976884017}};t.IfcMechanicalFastener=class extends cp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NominalDiameter=h,this.NominalLength=c,this.PredefinedType=l,this.type=377706215}};t.IfcMechanicalFastenerType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.NominalLength=p,this.type=2108223431}};t.IfcMedicalDeviceType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1114901282}};t.IfcMemberType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};t.IfcMobileTelecommunicationsApplianceType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1950438474}};t.IfcMooringDeviceType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=710110818}};t.IfcMotorConnectionType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};t.IfcNavigationElementType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=506776471}};t.IfcOccupant=class extends Kl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};t.IfcOpeningElement=class extends Np{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3588315303}};t.IfcOutletType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};t.IfcPavementType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=514975943}};t.IfcPerformanceHistory=class extends rp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LifeCyclePhase=a,this.PredefinedType=o,this.type=2382730787}};t.IfcPermeableCoveringProperties=class extends dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=3566463478}};t.IfcPermit=class extends rp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=3327091369}};t.IfcPileType=class extends np{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1158309216}};t.IfcPipeFittingType=class extends fp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};t.IfcPipeSegmentType=class extends Dp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};t.IfcPlateType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};t.IfcPolygonalFaceSet=class extends zl{constructor(t,e,s,i){super(t),this.Coordinates=t,this.Closed=e,this.Faces=s,this.PnIndex=i,this.type=2839578677}};t.IfcPolyline=class extends Jl{constructor(t){super(),this.Points=t,this.type=3724593414}};class Pp extends Rl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}t.IfcPort=Pp;class gp extends Rl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1946335990}}t.IfcPositioningElement=gp;t.IfcProcedure=class extends Nl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.PredefinedType=o,this.type=2744685151}};t.IfcProjectOrder=class extends rp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=2904328755}};t.IfcProjectionElement=class extends dp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3651124850}};t.IfcProtectiveDeviceType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};t.IfcPumpType=class extends Op{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};t.IfcRailType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1763565496}};t.IfcRailingType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};t.IfcRailway=class extends Ip{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.type=3992365140}};t.IfcRailwayPart=class extends yp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.PredefinedType=l,this.type=1891881377}};t.IfcRampFlightType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};t.IfcRampType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1469900589}};t.IfcRationalBSplineSurfaceWithKnots=class extends Ql{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h,c,l,p),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=o,this.VMultiplicities=h,this.UKnots=c,this.VKnots=l,this.KnotSpec=p,this.WeightsData=u,this.type=683857671}};t.IfcReferent=class extends gp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.type=4021432810}};class xp extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.type=3027567501}}t.IfcReinforcingElement=xp;class _p extends lp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=964333572}}t.IfcReinforcingElementType=_p;t.IfcReinforcingMesh=class extends xp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=l,this.LongitudinalBarNominalDiameter=p,this.TransverseBarNominalDiameter=u,this.LongitudinalBarCrossSectionArea=E,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=y,this.TransverseBarSpacing=T,this.PredefinedType=d,this.type=2320036040}};t.IfcReinforcingMeshType=class extends _p{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.MeshLength=l,this.MeshWidth=p,this.LongitudinalBarNominalDiameter=u,this.TransverseBarNominalDiameter=E,this.LongitudinalBarCrossSectionArea=I,this.TransverseBarCrossSectionArea=y,this.LongitudinalBarSpacing=T,this.TransverseBarSpacing=d,this.BendingShapeCode=N,this.BendingParameters=R,this.type=2310774935}};t.IfcRelAdheresToElement=class extends vl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedSurfaceFeatures=n,this.type=3818125796}};t.IfcRelAggregates=class extends vl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=160246688}};t.IfcRoad=class extends Ip{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.type=146592293}};t.IfcRoadPart=class extends yp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.PredefinedType=l,this.type=550521510}};t.IfcRoofType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2781568857}};t.IfcSanitaryTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};t.IfcSeamCurve=class extends Yl{constructor(t,e,s){super(t,e,s),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=2157484638}};t.IfcSecondOrderPolynomialSpiral=class extends Gl{constructor(t,e,s,i){super(t),this.Position=t,this.QuadraticTerm=e,this.LinearTerm=s,this.ConstantTerm=i,this.type=3649235739}};t.IfcSegmentedReferenceCurve=class extends tp{constructor(t,e,s,i){super(t,e),this.Segments=t,this.SelfIntersect=e,this.BaseCurve=s,this.EndPoint=i,this.type=544395925}};t.IfcSeventhOrderPolynomialSpiral=class extends Gl{constructor(t,e,s,i,r,n,a,o,h){super(t),this.Position=t,this.SepticTerm=e,this.SexticTerm=s,this.QuinticTerm=i,this.QuarticTerm=r,this.CubicTerm=n,this.QuadraticTerm=a,this.LinearTerm=o,this.ConstantTerm=h,this.type=1027922057}};t.IfcShadingDeviceType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4074543187}};t.IfcSign=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=33720170}};t.IfcSignType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3599934289}};t.IfcSignalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1894708472}};t.IfcSineSpiral=class extends Gl{constructor(t,e,s,i){super(t),this.Position=t,this.SineTerm=e,this.LinearTerm=s,this.ConstantTerm=i,this.type=42703149}};t.IfcSite=class extends Ul{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=l,this.RefElevation=p,this.LandTitleNumber=u,this.SiteAddress=E,this.type=4097777520}};t.IfcSlabType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};t.IfcSolarDeviceType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1072016465}};t.IfcSpace=class extends Ul{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.ElevationWithFlooring=l,this.type=3856911033}};t.IfcSpaceHeaterType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};t.IfcSpaceType=class extends wl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.LongName=l,this.type=3812236995}};t.IfcStackTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};t.IfcStairFlightType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};t.IfcStairType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=338393293}};class Mp extends Hl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=682877961}}t.IfcStructuralAction=Mp;class Fp extends Bl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1179482911}}t.IfcStructuralConnection=Fp;class Up extends Mp{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1004757350}}t.IfcStructuralCurveAction=Up;t.IfcStructuralCurveConnection=class extends Fp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.AxisDirection=h,this.type=4243806635}};class wp extends Vl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Axis=h,this.type=214636428}}t.IfcStructuralCurveMember=wp;t.IfcStructuralCurveMemberVarying=class extends wp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Axis=h,this.type=2445595289}};t.IfcStructuralCurveReaction=class extends Wl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=2757150158}};t.IfcStructuralLinearAction=class extends Up{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1807405624}};class Gp extends Lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.ActionType=a,this.ActionSource=o,this.Coefficient=h,this.Purpose=c,this.type=1252848954}}t.IfcStructuralLoadGroup=Gp;t.IfcStructuralPointAction=class extends Mp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=2082059205}};t.IfcStructuralPointConnection=class extends Fp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.ConditionCoordinateSystem=h,this.type=734778138}};t.IfcStructuralPointReaction=class extends Wl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=1235345126}};t.IfcStructuralResultGroup=class extends Lp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=o,this.type=2986769608}};class Hp extends Mp{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=3657597509}}t.IfcStructuralSurfaceAction=Hp;t.IfcStructuralSurfaceConnection=class extends Fp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1975003073}};t.IfcSubContractResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=148013059}};t.IfcSurfaceFeature=class extends Tp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3101698114}};t.IfcSwitchingDeviceType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class Bp extends Lp{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2254336722}}t.IfcSystem=Bp;t.IfcSystemFurnitureElement=class extends Cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=413509423}};t.IfcTankType=class extends mp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};t.IfcTendon=class extends xp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.TensionForce=u,this.PreStress=E,this.FrictionCoefficient=I,this.AnchorageSlip=y,this.MinCurvatureRadius=T,this.type=3824725483}};t.IfcTendonAnchor=class extends xp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.type=2347447852}};t.IfcTendonAnchorType=class extends _p{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3081323446}};t.IfcTendonConduit=class extends xp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.type=3663046924}};t.IfcTendonConduitType=class extends _p{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2281632017}};t.IfcTendonType=class extends _p{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.SheathDiameter=u,this.type=2415094496}};t.IfcTrackElementType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=618700268}};t.IfcTransformerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};t.IfcTransportElementType=class extends kl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};class Vp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1953115116}}t.IfcTransportationDevice=Vp;t.IfcTrimmedCurve=class extends Jl{constructor(t,e,s,i,r){super(),this.BasisCurve=t,this.Trim1=e,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=r,this.type=3593883385}};t.IfcTubeBundleType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};t.IfcUnitaryEquipmentType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};t.IfcValveType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};t.IfcVehicle=class extends Vp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=840318589}};t.IfcVibrationDamper=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1530820697}};t.IfcVibrationDamperType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3956297820}};t.IfcVibrationIsolator=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2391383451}};t.IfcVibrationIsolatorType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};t.IfcVirtualElement=class extends hp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2769231204}};t.IfcVoidingFeature=class extends Np{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=926996030}};t.IfcWallType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};t.IfcWasteTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};t.IfcWindowType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.PartitioningType=l,this.ParameterTakesPrecedence=p,this.UserDefinedPartitioningType=u,this.type=4009809668}};t.IfcWorkCalendar=class extends rp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.WorkingTimes=a,this.ExceptionTimes=o,this.PredefinedType=h,this.type=4088093105}};class Wp extends rp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.type=1028945134}}t.IfcWorkControl=Wp;t.IfcWorkPlan=class extends Wp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.PredefinedType=E,this.type=4218914973}};t.IfcWorkSchedule=class extends Wp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.PredefinedType=E,this.type=3342526732}};t.IfcZone=class extends Bp{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.type=1033361043}};t.IfcActionRequest=class extends rp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=3821786052}};t.IfcAirTerminalBoxType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};t.IfcAirTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};t.IfcAirToAirHeatRecoveryType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};t.IfcAlignmentCant=class extends bp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.RailHeadDistance=o,this.type=4266260250}};t.IfcAlignmentHorizontal=class extends bp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1545765605}};t.IfcAlignmentSegment=class extends bp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.DesignParameters=o,this.type=317615605}};t.IfcAlignmentVertical=class extends bp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1662888072}};t.IfcAsset=class extends Lp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.OriginalValue=a,this.CurrentValue=o,this.TotalReplacementCost=h,this.Owner=c,this.User=l,this.ResponsiblePerson=p,this.IncorporationDate=u,this.DepreciatedValue=E,this.type=3460190687}};t.IfcAudioVisualApplianceType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1532957894}};class jp extends Jl{constructor(t,e,s,i,r){super(),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.type=1967976161}}t.IfcBSplineCurve=jp;class Yp extends jp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=o,this.type=2461110595}}t.IfcBSplineCurveWithKnots=Yp;t.IfcBeamType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};t.IfcBearingType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3649138523}};t.IfcBoilerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class zp extends ep{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=1136057603}}t.IfcBoundaryCurve=zp;t.IfcBridge=class extends Ip{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.type=644574406}};t.IfcBridgePart=class extends yp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.PredefinedType=l,this.type=963979645}};t.IfcBuilding=class extends Ip{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=l,this.BuildingAddress=p,this.type=4031249490}};t.IfcBuildingElementPart=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2979338954}};t.IfcBuildingElementPartType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=39481116}};t.IfcBuildingElementProxyType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};t.IfcBuildingSystem=class extends Bp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.LongName=a,this.type=1177604601}};class kp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1876633798}}t.IfcBuiltElement=kp;t.IfcBuiltSystem=class extends Bp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.LongName=a,this.type=3862327254}};t.IfcBurnerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2188180465}};t.IfcCableCarrierFittingType=class extends fp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};t.IfcCableCarrierSegmentType=class extends Dp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};t.IfcCableFittingType=class extends fp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2674252688}};t.IfcCableSegmentType=class extends Dp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};t.IfcCaissonFoundationType=class extends np{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3203706013}};t.IfcChillerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};t.IfcChimney=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3296154744}};t.IfcCircle=class extends sp{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=2611217952}};t.IfcCivilElement=class extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1677625105}};t.IfcCoilType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};t.IfcColumn=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=843113511}};t.IfcCommunicationsApplianceType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=400855858}};t.IfcCompressorType=class extends Op{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};t.IfcCondenserType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};t.IfcConstructionEquipmentResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3898045240}};t.IfcConstructionMaterialResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=1060000209}};t.IfcConstructionProductResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=488727124}};t.IfcConveyorSegmentType=class extends Dp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2940368186}};t.IfcCooledBeamType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};t.IfcCoolingTowerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};t.IfcCourse=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1502416096}};t.IfcCovering=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1973544240}};t.IfcCurtainWall=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3495092785}};t.IfcDamperType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};class Xp extends kp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3426335179}}t.IfcDeepFoundation=Xp;t.IfcDiscreteAccessory=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1335981549}};t.IfcDiscreteAccessoryType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2635815018}};t.IfcDistributionBoardType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=479945903}};t.IfcDistributionChamberElementType=class extends op{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class Kp extends ap{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2063403501}}t.IfcDistributionControlElementType=Kp;class Zp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1945004755}}t.IfcDistributionElement=Zp;class qp extends Zp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3040386961}}t.IfcDistributionFlowElement=qp;t.IfcDistributionPort=class extends Pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=o,this.PredefinedType=h,this.SystemType=c,this.type=3041715199}};class Qp extends Bp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.PredefinedType=a,this.type=3205830791}}t.IfcDistributionSystem=Qp;t.IfcDoor=class extends kp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.OperationType=p,this.UserDefinedOperationType=u,this.type=395920057}};t.IfcDuctFittingType=class extends fp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};t.IfcDuctSegmentType=class extends Dp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};t.IfcDuctSilencerType=class extends Sp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};t.IfcEarthworksCut=class extends Np{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3071239417}};class Jp extends kp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1077100507}}t.IfcEarthworksElement=Jp;t.IfcEarthworksFill=class extends Jp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3376911765}};t.IfcElectricApplianceType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};t.IfcElectricDistributionBoardType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2417008758}};t.IfcElectricFlowStorageDeviceType=class extends mp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};t.IfcElectricFlowTreatmentDeviceType=class extends Sp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2142170206}};t.IfcElectricGeneratorType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};t.IfcElectricMotorType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};t.IfcElectricTimeControlType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};class $p extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1658829314}}t.IfcEnergyConversionDevice=$p;t.IfcEngine=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2814081492}};t.IfcEvaporativeCooler=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3747195512}};t.IfcEvaporator=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=484807127}};t.IfcExternalSpatialElement=class extends up{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.PredefinedType=h,this.type=1209101575}};t.IfcFanType=class extends Op{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};t.IfcFilterType=class extends Sp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};t.IfcFireSuppressionTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class tu extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2058353004}}t.IfcFlowController=tu;class eu extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=4278956645}}t.IfcFlowFitting=eu;t.IfcFlowInstrumentType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};t.IfcFlowMeter=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2188021234}};class su extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3132237377}}t.IfcFlowMovingDevice=su;class iu extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=987401354}}t.IfcFlowSegment=iu;class ru extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=707683696}}t.IfcFlowStorageDevice=ru;class nu extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2223149337}}t.IfcFlowTerminal=nu;class au extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3508470533}}t.IfcFlowTreatmentDevice=au;t.IfcFooting=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=900683007}};class ou extends vp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2713699986}}t.IfcGeotechnicalAssembly=ou;t.IfcGrid=class extends gp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.UAxes=o,this.VAxes=h,this.WAxes=c,this.PredefinedType=l,this.type=3009204131}};t.IfcHeatExchanger=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3319311131}};t.IfcHumidifier=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2068733104}};t.IfcInterceptor=class extends au{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4175244083}};t.IfcJunctionBox=class extends eu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2176052936}};t.IfcKerb=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2696325953}};t.IfcLamp=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=76236018}};t.IfcLightFixture=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=629592764}};class hu extends gp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1154579445}}t.IfcLinearPositioningElement=hu;t.IfcLiquidTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1638804497}};t.IfcMedicalDevice=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1437502449}};t.IfcMember=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1073191201}};t.IfcMobileTelecommunicationsAppliance=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2078563270}};t.IfcMooringDevice=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=234836483}};t.IfcMotorConnection=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2474470126}};t.IfcNavigationElement=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2182337498}};t.IfcOuterBoundaryCurve=class extends zp{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=144952367}};t.IfcOutlet=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3694346114}};t.IfcPavement=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1383356374}};t.IfcPile=class extends Xp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};t.IfcPipeFitting=class extends eu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=310824031}};t.IfcPipeSegment=class extends iu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3612865200}};t.IfcPlate=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3171933400}};t.IfcProtectiveDevice=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=738039164}};t.IfcProtectiveDeviceTrippingUnitType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=655969474}};t.IfcPump=class extends su{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=90941305}};t.IfcRail=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3290496277}};t.IfcRailing=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2262370178}};t.IfcRamp=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3024970846}};t.IfcRampFlight=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3283111854}};t.IfcRationalBSplineCurveWithKnots=class extends Yp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=o,this.WeightsData=h,this.type=1232101972}};t.IfcReinforcedSoil=class extends Jp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3798194928}};t.IfcReinforcingBar=class extends xp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=l,this.BarLength=p,this.PredefinedType=u,this.BarSurface=E,this.type=979691226}};t.IfcReinforcingBarType=class extends _p{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.BarLength=u,this.BarSurface=E,this.BendingShapeCode=I,this.BendingParameters=y,this.type=2572171363}};t.IfcRoof=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2016517767}};t.IfcSanitaryTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3053780830}};t.IfcSensorType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};t.IfcShadingDevice=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1329646415}};t.IfcSignal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=991950508}};t.IfcSlab=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1529196076}};t.IfcSolarDevice=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3420628829}};t.IfcSpaceHeater=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1999602285}};t.IfcStackTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1404847402}};t.IfcStair=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=331165859}};t.IfcStairFlight=class extends kp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NumberOfRisers=h,this.NumberOfTreads=c,this.RiserHeight=l,this.TreadLength=p,this.PredefinedType=u,this.type=4252922144}};t.IfcStructuralAnalysisModel=class extends Bp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=o,this.HasResults=h,this.SharedPlacement=c,this.type=2515109513}};t.IfcStructuralLoadCase=class extends Gp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.ActionType=a,this.ActionSource=o,this.Coefficient=h,this.Purpose=c,this.SelfWeightCoefficients=l,this.type=385403989}};t.IfcStructuralPlanarAction=class extends Hp{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1621171031}};t.IfcSwitchingDevice=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1162798199}};t.IfcTank=class extends ru{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=812556717}};t.IfcTrackElement=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3425753595}};t.IfcTransformer=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3825984169}};t.IfcTransportElement=class extends Vp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1620046519}};t.IfcTubeBundle=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3026737570}};t.IfcUnitaryControlElementType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3179687236}};t.IfcUnitaryEquipment=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4292641817}};t.IfcValve=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4207607924}};class cu extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2391406946}}t.IfcWall=cu;t.IfcWallStandardCase=class extends cu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3512223829}};t.IfcWasteTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4237592921}};t.IfcWindow=class extends kp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.PartitioningType=p,this.UserDefinedPartitioningType=u,this.type=3304561284}};t.IfcActuatorType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};t.IfcAirTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1634111441}};t.IfcAirTerminalBox=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=177149247}};t.IfcAirToAirHeatRecovery=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2056796094}};t.IfcAlarmType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};t.IfcAlignment=class extends hu{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.type=325726236}};t.IfcAudioVisualAppliance=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=277319702}};t.IfcBeam=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=753842376}};t.IfcBearing=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4196446775}};t.IfcBoiler=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=32344328}};t.IfcBorehole=class extends ou{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3314249567}};t.IfcBuildingElementProxy=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1095909175}};t.IfcBurner=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2938176219}};t.IfcCableCarrierFitting=class extends eu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=635142910}};t.IfcCableCarrierSegment=class extends iu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3758799889}};t.IfcCableFitting=class extends eu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1051757585}};t.IfcCableSegment=class extends iu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4217484030}};t.IfcCaissonFoundation=class extends Xp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3999819293}};t.IfcChiller=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3902619387}};t.IfcCoil=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=639361253}};t.IfcCommunicationsAppliance=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3221913625}};t.IfcCompressor=class extends su{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3571504051}};t.IfcCondenser=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2272882330}};t.IfcControllerType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};t.IfcConveyorSegment=class extends iu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3460952963}};t.IfcCooledBeam=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4136498852}};t.IfcCoolingTower=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3640358203}};t.IfcDamper=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4074379575}};t.IfcDistributionBoard=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3693000487}};t.IfcDistributionChamberElement=class extends qp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1052013943}};t.IfcDistributionCircuit=class extends Qp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.PredefinedType=a,this.type=562808652}};class lu extends Zp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1062813311}}t.IfcDistributionControlElement=lu;t.IfcDuctFitting=class extends eu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=342316401}};t.IfcDuctSegment=class extends iu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3518393246}};t.IfcDuctSilencer=class extends au{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1360408905}};t.IfcElectricAppliance=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1904799276}};t.IfcElectricDistributionBoard=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=862014818}};t.IfcElectricFlowStorageDevice=class extends ru{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3310460725}};t.IfcElectricFlowTreatmentDevice=class extends au{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=24726584}};t.IfcElectricGenerator=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=264262732}};t.IfcElectricMotor=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=402227799}};t.IfcElectricTimeControl=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1003880860}};t.IfcFan=class extends su{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3415622556}};t.IfcFilter=class extends au{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=819412036}};t.IfcFireSuppressionTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1426591983}};t.IfcFlowInstrument=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=182646315}};t.IfcGeomodel=class extends ou{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2680139844}};t.IfcGeoslice=class extends ou{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1971632696}};t.IfcProtectiveDeviceTrippingUnit=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2295281155}};t.IfcSensor=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4086658281}};t.IfcUnitaryControlElement=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=630975310}};t.IfcActuator=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4288193352}};t.IfcAlarm=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3087945054}};t.IfcController=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=25142252}}})(Fu||(Fu={})),class{static setLogLevel(t){this.logLevel=t}static log(t,...e){this.logLevel<=4&&console.log(t,...e)}static debug(t,...e){this.logLevel<=1&&console.trace("DEBUG: ",t,...e)}static warn(t,...e){this.logLevel<=3&&console.warn("WARN: ",t,...e)}static error(t,...e){this.logLevel<=4&&console.error("ERROR: ",t,...e)}}.logLevel=4,"undefined"!=typeof document){const t=document.currentScript;void 0!==(null==t?void 0:t.src)&&t.src.substring(0,t.src.lastIndexOf("/")+1)}class Vu{constructor(t,e,s){if(at(this,"_model"),at(this,"_boxes"),at(this,"_localIdsToGeometryIds",new Map),at(this,"_guidToLocalIdMap",new Map),at(this,"_items",new Map),at(this,"_itemDataCache",new Map),at(this,"_itemDataConfig",{attributesDefault:!0,relationsDefault:{attributes:!1,relations:!1}}),at(this,"_spatialStructure",null),at(this,"_virtualModel"),at(this,"_relations",new Map),this._virtualModel=t,this._model=t.data,this._boxes=e,this.preindexGeometryIds(),s&&s.extraRelations)for(const t of s.extraRelations){const{category:e,relation:s,inverseName:i}=t;this.addInverseRelation(e,s,i)}const i=this._model.localIdsArray();if(i){for(let t=0;tvoid 0!==t.categories)),a=t.map((t=>t.categories)).filter((t=>void 0!==t)).flat();for(let o=0;onull==e?void 0:e.test(t)))}if(!h)continue;const c=this._model.attributes(o);if(!c)continue;const l={};for(let t=0;tt.test(u)))),!t)continue;let c=!0;if(a){const{aggregation:t,queries:s}=a,i=[];for(const{name:t,value:r,type:n,negate:a}of s){const s=p.find((e=>t.test(e)));if(!s||void 0===(null==(e=l[s])?void 0:e.value))break;let o=!1;const{value:h,type:c}=l[s];o=r instanceof RegExp?"string"==typeof h&&r.test(h):h===r,void 0!==n&&(o=o&&"string"==typeof c&&n.test(c)),a&&(o=!o),i.push(o)}c="exclusive"===t?i.every((t=>t)):i.some((t=>t))}if(c){const t=p.find((t=>o.test(t)));if(!t||void 0===(null==(s=l[t])?void 0:s.value))continue;const e=n??t;let a=r.get(e);a||(a=new Set,r.set(e,a)),a.add(null==(i=l[t])?void 0:i.value)}}}const o={};for(const[t,e]of r)o[t]=Array.from(e);return o}getAttributeTypes(){const t=new Set;for(let e=0;e=0;e--){const i=this._virtualModel.requests[e];if((i.type===cu.CREATE_ITEM||i.type===cu.UPDATE_ITEM)&&i.localId===s){for(const e in i.data.data){const s=i.data.data[e];t[e]={value:s.value,type:s.type}}return t}}return null}const r=this._model.attributes(i);if(!r)return null;const n={};for(let t=this._virtualModel.requests.length-1;t>=0;t--){const e=this._virtualModel.requests[t];if((e.type===cu.UPDATE_ITEM||e.type===cu.CREATE_ITEM)&&e.localId===s){for(const t in e.data.data){const s=e.data.data[t];n[t]={value:s.value,type:s.type}}return n}}for(let t=0;t=0;t--){const e=this._virtualModel.requests[t];if((e.type===cu.UPDATE_RELATION||e.type===cu.CREATE_RELATION)&&e.localId===s)return e.data.data}if(null===s)return null;const i=this._relations.get(s)??{},r=null==(e=this._model.relationsItemsArray())?void 0:e.indexOf(s);if(void 0===r||-1===r)return Object.keys(i).length>0?i:null;const n=this._model.relations(r);if(!n)return Object.keys(i).length>0?i:null;for(let t=0;t=0;r--){const n=this._virtualModel.requests[r];if(n.type===cu.CREATE_ITEM||n.type===cu.UPDATE_ITEM){if(s.has(n.localId))continue;const r=n.localId;if(i.has(r))continue;for(const s of t)s.test(n.data.category)&&(e[n.data.category]||(e[n.data.category]=[]),i.add(r),e[n.data.category].push(n.localId))}}for(let i=0;i"string"==typeof a&&t.test(a))):e instanceof RegExp?"string"==typeof a&&e.test(a):a===e),void 0!==s&&(t=t&&"string"==typeof o&&s.test(o))),t){l=!0;break}}}(i?!l:l)&&a.push(n)}return a}getItemsByRelation({name:t,targetItemIds:e,sourceItemIds:s}){const i=[],r=s??this.getAllLocalIds();for(const s of r){const r=this.getItemRelations(s),n=null==r?void 0:r[t];if(n)if(e){for(const t of n)if(e.has(t)){i.push(s);break}}else i.push(s)}return i}getItemsByQuery(t,e){var s;const{categories:i,attributes:r,relation:n}=t;let a=null==e?void 0:e.localIds;if(a||(a=(null==(s=null==i?void 0:i.filter(Boolean))?void 0:s.length)?Object.values(this.getItemsOfCategories(i)).flat():void 0),0===(null==a?void 0:a.length))return[];if(r){const t=r.aggregation??"exclusive",e=[];for(const t of r.queries)if(r&&Boolean(t.name)){const s=this.getItemsByAttribute({...t,itemIds:a});e.push(s)}const s=new Set;if("inclusive"===t)for(const t of e)for(const e of t)s.add(e);else{const t=new Map;for(const s of e)for(const e of s){const s=t.get(e);void 0===s?t.set(e,1):t.set(e,s+1)}for(const[i,r]of t)r===e.length&&s.add(i)}a=[...s]}if(0===(null==a?void 0:a.length))return[];if(n&&Boolean(n.name)){const{name:t,query:e}=n,s=e?new Set(this.getItemsByQuery(e)):void 0;a=this.getItemsByRelation({name:t,targetItemIds:s,sourceItemIds:a})}return Array.from(new Set(a))}getTreeItem(t){const e={category:t.category(),localId:t.localId()},s=[];for(let e=0;e0&&(e.children=s),e}preindexGeometryIds(){const t=this._model.meshes(),e=t.meshesItemsLength();for(let s=0;s=t._data.threshold}transform(e,s,i){i||(e*=t._data.factor),this.data=e,this.box.clone(s)}};at(ku,"_data",{threshold:0,factor:-1});let Xu=ku;class Ku{constructor(t){at(this,"_boxes"),at(this,"_min",new $t),at(this,"_max",new $t),this._boxes=t}inflate(t){const e=this._boxes.fullBox.min,s=this.getVector(t,e,"min"),i=this.getVector(t,e,"max");return new se(s,i)}deflate(t,e){this.read(t);const s=[];s.push(this._min.x,this._min.y,this._min.z),s.push(this._max.x,this._max.y,this._max.z),e.set(s)}getVector(t,e,s){const i=t.get("x",s)+e.x,r=t.get("y",s)+e.y,n=t.get("z",s)+e.z;return new $t(i,r,n)}read(t){const{min:e}=this._boxes.fullBox;this._min.subVectors(t.min,e),this._max.subVectors(t.max,e)}}class Zu{constructor(t,e){at(this,"_data"),at(this,"_compressor"),this._data=e,this._compressor=t}frustumCollide(t,e,s=!1){const i=this.getFrustumPlanes(e,t),r=this.getFrustumOnCollide(i),n=this.getFrustumOnIncludes(i),a=this.newDefaultCallback(!0);return this.collide(r,n,a,s)}rayCollide(t,e){const s=this.getRayOnCollide(e),i=this.newDefaultCallback(!1),r=this.getRayOnSeen(t);return this.collide(s,i,r)}addPoint(t,e,s,i){t?i&&e.push(this.getPointData(s)):e.push(this.getPointData(s))}getPointData(t){return this.getPoint(t).data}getBounds(t){const e=this.getPoint(t);return this._compressor.inflate(e.box)}isPoint(t){return this.getPoint(t).isPoint}newDefaultCallback(t){return e=>t}groupSize(t){return this.getPoint(t).size}getPoint(t){return this._data.points[t]}getRayOnSeen(t){let e=this.newDefaultCallback(!0);return(null==t?void 0:t.length)>0&&(e=e=>Pc.collides(e,t)),e}getRayOnCollide(t){return e=>t.intersectsBox(e)}collide(t,e,s,i=!1){const r=this._data.points.length,n=[];let a=0;const o=(t,e)=>{const r=a+this.groupSize(a);for(;a{const r=this.getBounds(a),h=e(r),c=this.isPoint(a),l=h||t(r);c&&l&&s(r)&&this.addPoint(i,n,a,h),l||c?(a++,h&&!c&&o(r,h)):a+=this.groupSize(a)};for(;aPc.isIncluded(e,t)}getFrustumOnCollide(t){return e=>Pc.collides(e,t)}getFrustumPlanes(t,e){const s=[];for(const e of t.planes)s.push(e);if(e)for(const t of e)s.push(t);return s}savePoint(t,e){const s=this.getPoint(t);e.push(s.data)}}class qu{constructor(t){at(this,"_boxes"),at(this,"_total",new $t),at(this,"_change",new $t),at(this,"_average",new $t),at(this,"_tempCenterVector",new $t),at(this,"_tempVectors",{x:new $t,y:new $t,z:new $t}),this._boxes=t}sort(t,e,s){this.average(this._average,t,e,s),this.getDataToTotal(e,s,t);let i=this.anySort(e,s,t);return i=this.adjust(s,e,i),Math.round(i)}anySort(t,e,s){return this._total.x>this._total.y?this._total.x>this._total.z?this.sortDim("x",this._average.x,t,e,s):this.sortDim("z",this._average.z,t,e,s):this._total.y>this._total.z?this.sortDim("y",this._average.y,t,e,s):this.sortDim("z",this._average.z,t,e,s)}getDataToTotal(t,e,s){this._total.set(0,0,0);for(let i=t;ie&&(this.exchange(a,n,r),n++)}return n}exchange(t,e,s){const i=s[t];s[t]=s[e],s[e]=i}getValue(t,e,s){const i=this.getBox(t,e),r=this._tempVectors[s];return i.getCenter(r)[s]}average(t,e,s,i){const r=this.getBox(e,s);return r.getCenter(t),this.aggregate(s,i,e,r,t),t.divideScalar(i-s)}aggregate(t,e,s,i,r){for(let i=t+1;i=t-1-r)&&(s=i),s}getBox(t,e){const s=t[e];return this._boxes.get(s)}}class Qu{constructor(t,e,s){at(this,"_data"),at(this,"_compressor"),at(this,"_boxes"),at(this,"_sorter"),this._data=s,this._compressor=e,this._boxes=t,this._sorter=new qu(t)}make(t,e,s=0,i=0,r=0,n=0){const a=s-i;return 1===a?this.makePoint(t,i,e,n):2===a?this.makeGroup3(n,t,i,e):this.makeGroup(r,t,i,s,n,e)}makeGroup3(t,e,s,i){const r=this.makeBox(t+1,e,s),n=this.makeBox(t+2,e,s+1);return i.combine(r,n),this.newGroup(t,3,i),3}makeGroup(t,e,s,i,r,n){const a=this._data.limits.primary[t],o=this._data.limits.secondary[t],h=this._sorter.sort(e,s,i),c=this.make(e,a,h,s,t+1,r+1),l=r+c+1,p=this.make(e,o,i,h,t+1,l);n.combine(a,o);const u=c+p+1;return this.newGroup(r,u,n),u}makeBox(t,e,s){const i=this._data.points[t].box,r=e[s],n=this._boxes.get(r);return this._compressor.deflate(n,i),this.set(t,r),i}makePoint(t,e,s,i){const r=this._boxes.get(t[e]);return this._compressor.deflate(r,s),this.newPoint(i,t[e],s),1}newGroup(t,e,s){this.get(t).transform(e,s,!1)}get(t){return this._data.points[t]}newPoint(t,e,s){this.get(t).transform(e,s,!0)}set(t,e){this.get(t).data=e}}const Ju=class t{constructor(t){at(this,"_compressor"),at(this,"_collider"),at(this,"_maker"),at(this,"_data"),at(this,"_boxes"),this._boxes=t,this._compressor=new Ku(t),this._data=this.getData(),this._collider=new Zu(this._compressor,this._data),this._maker=new Qu(this._boxes,this._compressor,this._data),this.initData()}collideFrustum(t,e,s=!1){return this._collider.frustumCollide(t,e,s)}collideRay(t,e){return this._collider.rayCollide(t,e)}setupLimits(){for(let e=0;e{const i=t.itemConfig.getHighlight(s);if(i){const s=t.materials.fetch(i);e.push(s)}else e.push(void 0)}}setHighlightProperty(t,e,s){void 0===t[s]&&void 0!==e[s]&&(t[s]=e[s])}getNewHighFromPast(t,e,s){const i=t.materials.fetch(e),r={...s};for(const t of this._highlightProps)this.setHighlightProperty(r,i,t);return r}getCheckEvent(t,e,s){return i=>{const r=t.itemConfig.getHighlight(i);if(void 0===r)s.push(e);else{const i=this.getNewHighFromPast(t,r,e);s.push(i)}}}getCreateEvent(t,e){return(s,i)=>{t.itemConfig.setHighlight(s,e[i])}}resetHighlightForItems(t,e){if(t)for(const s of t)e.itemConfig.setHighlight(s,0);else e.itemConfig.clearHighlight()}}class rE{constructor(){at(this,"_hiddenForEdit",new Set)}resetVisible(t){t.itemConfig.clearVisible(),t.tiles.restart()}getVisible(t,e){const s=t.properties.getItemIdsFromLocalIds(e),i=[];for(const e of s){if(this._hiddenForEdit.has(e))continue;const s=t.itemConfig.visible(e);i.push(s)}return i}getItemsByVisibility(t,e){const s=this.getVisibleCondition(t,e),i=t.getItemsByConfig(s),r=t.properties.getLocalIdsFromItemIds(i);return this.filterHiddenForEdit(r)}toggleVisible(t,e){const s=t.properties.getItemIdsFromLocalIds(e),i=this.filterHiddenForEdit(s),r=this.getToggleEvent(t);t.traverse(i,r),t.tiles.updateVirtualMeshes(i)}setVisible(t,e,s){const i=t.properties.getItemIdsFromLocalIds(e),r=this.filterHiddenForEdit(i),n=this.getSetEvent(t,s);t.traverse(r,n),t.tiles.updateVirtualMeshes(r)}hideForEdit(t,e){this.setVisible(t,e,!1);for(const t of e)this._hiddenForEdit.add(t)}filterHiddenForEdit(t){if(!this._hiddenForEdit.size)return t;const e=[];for(const s of t)this._hiddenForEdit.has(s)||e.push(s);return e}getSetEvent(t,e){return s=>{t.itemConfig.setVisible(s,e)}}getVisibleCondition(t,e){return s=>t.itemConfig.visible(s)===e}getToggleEvent(t){return e=>{const s=t.itemConfig.visible(e);t.itemConfig.setVisible(e,!s)}}}class nE{getGeometriesLength(t){return t.data.meshes().globalTransformsLength()}getSampleGeometry(t,e,s){const i=t.boxes.sampleOf(e),r=[];if(!i)return r;const n=t.data.meshes();for(const e of i){const i=t.tiles.fetchSample(e,s),a=n.sampleIds(e),o=Array.isArray(i.geometries)?i.geometries:[i.geometries],h=n.samples(e),c=n.meshesItems(h.item()),l=t.data.localIds(c);for(const t of o){const e=s===mi.GEOMETRY?t.positionBuffer:new Float32Array(t.positionBuffer);r.push({transform:i.transform.clone(),indices:t.indexBuffer,positions:e,normals:t.normalBuffer,sampleId:a,localId:l})}}return r}getVolume(t,e){let s=0;const i={x:0,y:0,z:0},r={x:0,y:0,z:0},n={x:0,y:0,z:0},a=this.getSampleGeometry(t,e,mi.GEOMETRY);for(const{indices:t,positions:e}of a)if(t&&e)for(let a=0;a{if(!t.indexBuffer||!t.positionBuffer)return;const s=new Bs;s.setIndex(Array.from(t.indexBuffer)),s.setAttribute("position",new bs(t.positionBuffer,3)),e.push(s)})),i.set(c,e)}const l=i.get(c);if(l)for(const e of l){const s=new Js(e),i=t.tiles.getSampleTransform(a);s.applyMatrix4(i),s.updateWorldMatrix(!0,!0),r.push(s)}}}const n=new Float32Array(6e5),a=new bs(n,3,!1),{index:o,indexes:h}=this._sectionGenerator.createEdges({meshes:r,posAttr:a}),c=this._sectionGenerator.createFills(n,h);for(const[,t]of i)for(const e of t)e.dispose();return{buffer:n,index:o,fillsIndices:c}}}class oE{constructor(t){at(this,"_model"),at(this,"sequenceSelectorFunction",{withVisiblity:t=>this._model.getItemsByVisibility(t),highlighted:()=>this._model.getHighlightItemIds(),children:t=>this._model.getItemsChildren(t),ofCategory:t=>{const e=this._model.getItemsOfCategories(t);return Object.values(e).flat()},withCondition:()=>[],withGeometry:()=>this._model.getItemsWithGeometry()}),at(this,"sequenceResultFunction",{attributes:t=>t.map((t=>this._model.getItemAttributes(t))),mergedBoxes:t=>this._model.getBBoxes(t),category:t=>this._model.getItemsCategories(t),children:t=>this._model.getItemsChildren(t),data:(t,...e)=>this._model.getItemsData(t,e[0]),geometry:t=>this._model.getItemsGeometry(t),guid:t=>this._model.getGuidsByLocalIds(t),highlight:t=>this._model.getHighlight(t),relations:t=>t.map((t=>this._model.getItemRelations(t))),visibility:t=>this._model.getVisible(t)}),this._model=t}getSequenced(t,e,s){var i;const r=this.sequenceResultFunction[t];if(!r)return null;let n=[],a=0;for(const t of e){const e=this.sequenceSelectorFunction[t];if(!e)continue;const r=null==(i=null==s?void 0:s.selector)?void 0:i[t];n=e(0===a?r:n),a++}return r(n,null==s?void 0:s.result)}}class hE{traverse(t,e,s){e?this.traverseItems(e,s):this.traverseAllItems(t,s)}getItemsByConfig(t,e){const s=[],i=t.data.localIdsLength();for(let t=0;t{if(this._connection)return this._connection.fetch(t,e)})),this._modelId=t,this._connection=s,this._config={...this._config,...i},this.data=this.setupModel(e),this.boxes=new tE(this.data),this.materials=this.setupMaterials(t),this._alignments=new Wu(this),this._grids=new cE(this),this.itemConfig=this.setupItemsConfig(),this.tiles=this.setupTiles(),this.properties=this.setupProperties(),this.raycaster=this.setupRaycaster(),this.setupBVH(),this._nextId=this.getMaxLocalId()}getItemsByConfig(t){return this._itemsHelper.getItemsByConfig(this,t)}getItemsCategories(t){return this.properties.getItemsCategories(t)}getItemIdsByLocalIds(t){return this.properties.getItemIdsFromLocalIds(t)}getItemAttributes(t){return this.properties.getItemAttributes(t)}getAttributesUniqueValues(t){return this.properties.getAttributesUniqueValues(t)}getItemsData(t,e){return this.properties.getItemsData(t,e)}getItemsOfCategories(t){return this.properties.getItemsOfCategories(t)}getItemsWithGeometry(){return this.properties.getItemsWithGeometry()}getItemsWithGeometryCategories(){return this.properties.getItemsWithGeometryCategories()}getItemsByQuery(t,e){return this.properties.getItemsByQuery(t,e)}getItemRelations(t){return this.properties.getItemRelations(t)}getSpatialStructure(){const t=xu.applyChangesToSpecialData(this.requests,"SPATIAL_STRUCTURE");return t||this.properties.getSpatialStructure()}getMaxLocalId(){return this.properties.getMaxLocalId()}getCategories(){return this.properties.getCategories()}getMetadata(){const t=xu.applyChangesToSpecialData(this.requests,"METADATA");return t||this.properties.getMetadata()}getLocalIdsByGuids(t){return this.properties.getLocalIdsByGuids(t)}getGuidsByLocalIds(t){return this.properties.getGuidsByLocalIds(t)}getSequenced(t,e,s){return this._sequenceHelper.getSequenced(t,e,s)}highlight(t,e){this._highlightHelper.highlight(this,t,e)}getHighlight(t){return this._highlightHelper.getHighlight(this,t)}getHighlightItemIds(){return this._highlightHelper.getHighlightItems(this)}resetHighlight(t){this._highlightHelper.resetHighlight(this,t)}getCoordinates(){return this._coordinatesHelper.getCoordinates(this)}getPositions(t){return this._coordinatesHelper.getPositions(this,t)}getGeometriesLength(){return this._geometryHelper.getGeometriesLength(this)}getGuids(){return this.properties.getGuids()}getLocalIds(){return this.properties.getLocalIds()}getItemsGeometry(t,e=mi.GEOMETRY){const s=this.properties.getItemIdsFromLocalIds(t),i=[];for(const t of s){const s=this._geometryHelper.getSampleGeometry(this,t,e);i.push(s)}return i}getGeometries(t){if(0===this._reprIdMap.size){const t=this.data.meshes();for(let e=0;e{const t=this.updateAllModels()?this._updateDelay:0;setTimeout(e,t)};e()}updateAllModels(){const t=performance.now();let e=!0;for(const[,s]of this._thread.list){const i=s.update(t);e=e&&i;if(performance.now()-t>this._updateThreshold)break}return e}}class NE{constructor(t){at(this,"thread"),at(this,"modelCreator"),at(this,"raycaster"),at(this,"modelDeleter"),at(this,"viewRefresher"),at(this,"boxFetcher"),at(this,"executor"),at(this,"updater"),this.thread=t,this.modelCreator=new pE(t),this.raycaster=new uE(t),this.modelDeleter=new EE(t),this.viewRefresher=new IE(t),this.boxFetcher=new yE(t),this.executor=new TE(t),this.updater=new dE(t)}}class RE{constructor(){at(this,"actions",{}),at(this,"list",new Map),at(this,"controllerManager",new NE(this)),at(this,"_connection")}get connection(){if(!this._connection)throw new Error("Fragments: Connection not set");return this._connection}set connection(t){this._connection=t}useConnection(t){this.connection=new gi((async t=>{await this.actions[t.class](t)})),this.connection.init(t)}getModel(t){const e=this.list.get(t);if(!e)throw new Error(`Fragments: Model not found: ${t}`);return e}}const fE=new RE;globalThis.onmessage=t=>{fE.useConnection(t.data)};export{RE as FragmentsThread}; +/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function xi(t){let e=t.length;for(;--e>=0;)t[e]=0}const _i=256,Mi=286,Fi=30,Ui=15,wi=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]),Gi=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]),Hi=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Bi=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Vi=new Array(576);xi(Vi);const Wi=new Array(60);xi(Wi);const ji=new Array(512);xi(ji);const Yi=new Array(256);xi(Yi);const zi=new Array(29);xi(zi);const ki=new Array(Fi);function Xi(t,e,s,i,r){this.static_tree=t,this.extra_bits=e,this.extra_base=s,this.elems=i,this.max_length=r,this.has_stree=t&&t.length}let Ki,Zi,qi;function Qi(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}xi(ki);const Ji=t=>t<256?ji[t]:ji[256+(t>>>7)],$i=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},tr=(t,e,s)=>{t.bi_valid>16-s?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=s-16):(t.bi_buf|=e<{tr(t,s[2*e],s[2*e+1])},sr=(t,e)=>{let s=0;do{s|=1&t,t>>>=1,s<<=1}while(--e>0);return s>>>1},ir=(t,e,s)=>{const i=new Array(16);let r,n,a=0;for(r=1;r<=Ui;r++)a=a+s[r-1]<<1,i[r]=a;for(n=0;n<=e;n++){let e=t[2*n+1];0!==e&&(t[2*n]=sr(i[e]++,e))}},rr=t=>{let e;for(e=0;e{t.bi_valid>8?$i(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},ar=(t,e,s,i)=>{const r=2*e,n=2*s;return t[r]{const i=t.heap[s];let r=s<<1;for(;r<=t.heap_len&&(r{let i,r,n,a,o=0;if(0!==t.sym_next)do{i=255&t.pending_buf[t.sym_buf+o++],i+=(255&t.pending_buf[t.sym_buf+o++])<<8,r=t.pending_buf[t.sym_buf+o++],0===i?er(t,r,e):(n=Yi[r],er(t,n+_i+1,e),a=wi[n],0!==a&&(r-=zi[n],tr(t,r,a)),i--,n=Ji(i),er(t,n,s),a=Gi[n],0!==a&&(i-=ki[n],tr(t,i,a)))}while(o{const s=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.has_stree,n=e.stat_desc.elems;let a,o,h,c=-1;for(t.heap_len=0,t.heap_max=573,a=0;a>1;a>=1;a--)or(t,s,a);h=n;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],or(t,s,1),o=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=o,s[2*h]=s[2*a]+s[2*o],t.depth[h]=(t.depth[a]>=t.depth[o]?t.depth[a]:t.depth[o])+1,s[2*a+1]=s[2*o+1]=h,t.heap[1]=h++,or(t,s,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const s=e.dyn_tree,i=e.max_code,r=e.stat_desc.static_tree,n=e.stat_desc.has_stree,a=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,h=e.stat_desc.max_length;let c,l,p,u,E,I,y=0;for(u=0;u<=Ui;u++)t.bl_count[u]=0;for(s[2*t.heap[t.heap_max]+1]=0,c=t.heap_max+1;c<573;c++)l=t.heap[c],u=s[2*s[2*l+1]+1]+1,u>h&&(u=h,y++),s[2*l+1]=u,l>i||(t.bl_count[u]++,E=0,l>=o&&(E=a[l-o]),I=s[2*l],t.opt_len+=I*(u+E),n&&(t.static_len+=I*(r[2*l+1]+E)));if(0!==y){do{for(u=h-1;0===t.bl_count[u];)u--;t.bl_count[u]--,t.bl_count[u+1]+=2,t.bl_count[h]--,y-=2}while(y>0);for(u=h;0!==u;u--)for(l=t.bl_count[u];0!==l;)p=t.heap[--c],p>i||(s[2*p+1]!==u&&(t.opt_len+=(u-s[2*p+1])*s[2*p],s[2*p+1]=u),l--)}})(t,e),ir(s,c,t.bl_count)},lr=(t,e,s)=>{let i,r,n=-1,a=e[1],o=0,h=7,c=4;for(0===a&&(h=138,c=3),e[2*(s+1)+1]=65535,i=0;i<=s;i++)r=a,a=e[2*(i+1)+1],++o{let i,r,n=-1,a=e[1],o=0,h=7,c=4;for(0===a&&(h=138,c=3),i=0;i<=s;i++)if(r=a,a=e[2*(i+1)+1],!(++o{tr(t,0+(i?1:0),3),nr(t),$i(t,s),$i(t,~s),s&&t.pending_buf.set(t.window.subarray(e,e+s),t.pending),t.pending+=s};var Ir={_tr_init:t=>{ur||((()=>{let t,e,s,i,r;const n=new Array(16);for(s=0,i=0;i<28;i++)for(zi[i]=s,t=0;t<1<>=7;i{let r,n,a=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,s=4093624447;for(e=0;e<=31;e++,s>>>=1)if(1&s&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<_i;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),cr(t,t.l_desc),cr(t,t.d_desc),a=(t=>{let e;for(lr(t,t.dyn_ltree,t.l_desc.max_code),lr(t,t.dyn_dtree,t.d_desc.max_code),cr(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*Bi[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),r=t.opt_len+3+7>>>3,n=t.static_len+3+7>>>3,n<=r&&(r=n)):r=n=s+5,s+4<=r&&-1!==e?Er(t,e,s,i):4===t.strategy||n===r?(tr(t,2+(i?1:0),3),hr(t,Vi,Wi)):(tr(t,4+(i?1:0),3),((t,e,s,i)=>{let r;for(tr(t,e-257,5),tr(t,s-1,5),tr(t,i-4,4),r=0;r(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=s,0===e?t.dyn_ltree[2*s]++:(t.matches++,e--,t.dyn_ltree[2*(Yi[s]+_i+1)]++,t.dyn_dtree[2*Ji(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{tr(t,2,3),er(t,256,Vi),(t=>{16===t.bi_valid?($i(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var yr=(t,e,s,i)=>{let r=65535&t,n=t>>>16&65535,a=0;for(;0!==s;){a=s>2e3?2e3:s,s-=a;do{r=r+e[i++]|0,n=n+r|0}while(--a);r%=65521,n%=65521}return r|n<<16};const Tr=new Uint32Array((()=>{let t,e=[];for(var s=0;s<256;s++){t=s;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[s]=t}return e})());var dr=(t,e,s,i)=>{const r=Tr,n=i+s;t^=-1;for(let s=i;s>>8^r[255&(t^e[s])];return~t},Nr={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"},Rr={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};const{_tr_init:fr,_tr_stored_block:Or,_tr_flush_block:Dr,_tr_tally:mr,_tr_align:Ar}=Ir,{Z_NO_FLUSH:Sr,Z_PARTIAL_FLUSH:Cr,Z_FULL_FLUSH:vr,Z_FINISH:Lr,Z_BLOCK:br,Z_OK:Pr,Z_STREAM_END:gr,Z_STREAM_ERROR:xr,Z_DATA_ERROR:_r,Z_BUF_ERROR:Mr,Z_DEFAULT_COMPRESSION:Fr,Z_FILTERED:Ur,Z_HUFFMAN_ONLY:wr,Z_RLE:Gr,Z_FIXED:Hr,Z_DEFAULT_STRATEGY:Br,Z_UNKNOWN:Vr,Z_DEFLATED:Wr}=Rr,jr=258,Yr=262,zr=42,kr=113,Xr=666,Kr=(t,e)=>(t.msg=Nr[e],e),Zr=t=>2*t-(t>4?9:0),qr=t=>{let e=t.length;for(;--e>=0;)t[e]=0},Qr=t=>{let e,s,i,r=t.w_size;e=t.hash_size,i=e;do{s=t.head[--i],t.head[i]=s>=r?s-r:0}while(--e);e=r,i=e;do{s=t.prev[--i],t.prev[i]=s>=r?s-r:0}while(--e)};let Jr=(t,e,s)=>(e<{const e=t.state;let s=e.pending;s>t.avail_out&&(s=t.avail_out),0!==s&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+s),t.next_out),t.next_out+=s,e.pending_out+=s,t.total_out+=s,t.avail_out-=s,e.pending-=s,0===e.pending&&(e.pending_out=0))},tn=(t,e)=>{Dr(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,$r(t.strm)},en=(t,e)=>{t.pending_buf[t.pending++]=e},sn=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},rn=(t,e,s,i)=>{let r=t.avail_in;return r>i&&(r=i),0===r?0:(t.avail_in-=r,e.set(t.input.subarray(t.next_in,t.next_in+r),s),1===t.state.wrap?t.adler=yr(t.adler,e,r,s):2===t.state.wrap&&(t.adler=dr(t.adler,e,r,s)),t.next_in+=r,t.total_in+=r,r)},nn=(t,e)=>{let s,i,r=t.max_chain_length,n=t.strstart,a=t.prev_length,o=t.nice_match;const h=t.strstart>t.w_size-Yr?t.strstart-(t.w_size-Yr):0,c=t.window,l=t.w_mask,p=t.prev,u=t.strstart+jr;let E=c[n+a-1],I=c[n+a];t.prev_length>=t.good_match&&(r>>=2),o>t.lookahead&&(o=t.lookahead);do{if(s=e,c[s+a]===I&&c[s+a-1]===E&&c[s]===c[n]&&c[++s]===c[n+1]){n+=2,s++;do{}while(c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&na){if(t.match_start=e,a=i,i>=o)break;E=c[n+a-1],I=c[n+a]}}}while((e=p[e&l])>h&&0!=--r);return a<=t.lookahead?a:t.lookahead},an=t=>{const e=t.w_size;let s,i,r;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Yr)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),Qr(t),i+=e),0===t.strm.avail_in)break;if(s=rn(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=s,t.lookahead+t.insert>=3)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=Jr(t,t.ins_h,t.window[r+1]);t.insert&&(t.ins_h=Jr(t,t.ins_h,t.window[r+3-1]),t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let s,i,r,n=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,a=0,o=t.strm.avail_in;do{if(s=65535,r=t.bi_valid+42>>3,t.strm.avail_outi+t.strm.avail_in&&(s=i+t.strm.avail_in),s>r&&(s=r),s>8,t.pending_buf[t.pending-2]=~s,t.pending_buf[t.pending-1]=~s>>8,$r(t.strm),i&&(i>s&&(i=s),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,s-=i),s&&(rn(t.strm,t.strm.output,t.strm.next_out,s),t.strm.next_out+=s,t.strm.avail_out-=s,t.strm.total_out+=s)}while(0===a);return o-=t.strm.avail_in,o&&(o>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=o&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-o,t.strm.next_in),t.strstart),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.block_start=t.strstart),t.high_waterr&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,r+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),r>t.strm.avail_in&&(r=t.strm.avail_in),r&&(rn(t.strm,t.window,t.strstart,r),t.strstart+=r,t.insert+=r>t.w_size-t.insert?t.w_size-t.insert:r),t.high_water>3,r=t.pending_buf_size-r>65535?65535:t.pending_buf_size-r,n=r>t.w_size?t.w_size:r,i=t.strstart-t.block_start,(i>=n||(i||e===Lr)&&e!==Sr&&0===t.strm.avail_in&&i<=r)&&(s=i>r?r:i,a=e===Lr&&0===t.strm.avail_in&&s===i?1:0,Or(t,t.block_start,s,a),t.block_start+=s,$r(t.strm)),a?3:1)},hn=(t,e)=>{let s,i;for(;;){if(t.lookahead=3&&(t.ins_h=Jr(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==s&&t.strstart-s<=t.w_size-Yr&&(t.match_length=nn(t,s)),t.match_length>=3)if(i=mr(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=Jr(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=Jr(t,t.ins_h,t.window[t.strstart+1]);else i=mr(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(tn(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===Lr?(tn(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(tn(t,!1),0===t.strm.avail_out)?1:2},cn=(t,e)=>{let s,i,r;for(;;){if(t.lookahead=3&&(t.ins_h=Jr(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==s&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){r=t.strstart+t.lookahead-3,i=mr(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=r&&(t.ins_h=Jr(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(tn(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=mr(t,0,t.window[t.strstart-1]),i&&tn(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=mr(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===Lr?(tn(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(tn(t,!1),0===t.strm.avail_out)?1:2};function ln(t,e,s,i,r){this.good_length=t,this.max_lazy=e,this.nice_length=s,this.max_chain=i,this.func=r}const pn=[new ln(0,0,0,0,on),new ln(4,4,8,4,hn),new ln(4,5,16,8,hn),new ln(4,6,32,32,hn),new ln(4,4,16,16,cn),new ln(8,16,32,32,cn),new ln(8,16,128,128,cn),new ln(8,32,128,256,cn),new ln(32,128,258,1024,cn),new ln(32,258,258,4096,cn)];function un(){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=Wr,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),qr(this.dyn_ltree),qr(this.dyn_dtree),qr(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),qr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),qr(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}const En=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==zr&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==kr&&e.status!==Xr?1:0},In=t=>{if(En(t))return Kr(t,xr);t.total_in=t.total_out=0,t.data_type=Vr;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?zr:kr,t.adler=2===e.wrap?0:1,e.last_flush=-2,fr(e),Pr},yn=t=>{const e=In(t);var s;return e===Pr&&((s=t.state).window_size=2*s.w_size,qr(s.head),s.max_lazy_match=pn[s.level].max_lazy,s.good_match=pn[s.level].good_length,s.nice_match=pn[s.level].nice_length,s.max_chain_length=pn[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=2,s.match_available=0,s.ins_h=0),e},Tn=(t,e,s,i,r,n)=>{if(!t)return xr;let a=1;if(e===Fr&&(e=6),i<0?(a=0,i=-i):i>15&&(a=2,i-=16),r<1||r>9||s!==Wr||i<8||i>15||e<0||e>9||n<0||n>Hr||8===i&&1!==a)return Kr(t,xr);8===i&&(i=9);const o=new un;return t.state=o,o.strm=t,o.status=zr,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<Tn(t,e,Wr,15,8,Br),deflateInit2:Tn,deflateReset:yn,deflateResetKeep:In,deflateSetHeader:(t,e)=>En(t)||2!==t.state.wrap?xr:(t.state.gzhead=e,Pr),deflate:(t,e)=>{if(En(t)||e>br||e<0)return t?Kr(t,xr):xr;const s=t.state;if(!t.output||0!==t.avail_in&&!t.input||s.status===Xr&&e!==Lr)return Kr(t,0===t.avail_out?Mr:xr);const i=s.last_flush;if(s.last_flush=e,0!==s.pending){if($r(t),0===t.avail_out)return s.last_flush=-1,Pr}else if(0===t.avail_in&&Zr(e)<=Zr(i)&&e!==Lr)return Kr(t,Mr);if(s.status===Xr&&0!==t.avail_in)return Kr(t,Mr);if(s.status===zr&&0===s.wrap&&(s.status=kr),s.status===zr){let e=Wr+(s.w_bits-8<<4)<<8,i=-1;if(i=s.strategy>=wr||s.level<2?0:s.level<6?1:6===s.level?2:3,e|=i<<6,0!==s.strstart&&(e|=32),e+=31-e%31,sn(s,e),0!==s.strstart&&(sn(s,t.adler>>>16),sn(s,65535&t.adler)),t.adler=1,s.status=kr,$r(t),0!==s.pending)return s.last_flush=-1,Pr}if(57===s.status)if(t.adler=0,en(s,31),en(s,139),en(s,8),s.gzhead)en(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(s.gzhead.extra?4:0)+(s.gzhead.name?8:0)+(s.gzhead.comment?16:0)),en(s,255&s.gzhead.time),en(s,s.gzhead.time>>8&255),en(s,s.gzhead.time>>16&255),en(s,s.gzhead.time>>24&255),en(s,9===s.level?2:s.strategy>=wr||s.level<2?4:0),en(s,255&s.gzhead.os),s.gzhead.extra&&s.gzhead.extra.length&&(en(s,255&s.gzhead.extra.length),en(s,s.gzhead.extra.length>>8&255)),s.gzhead.hcrc&&(t.adler=dr(t.adler,s.pending_buf,s.pending,0)),s.gzindex=0,s.status=69;else if(en(s,0),en(s,0),en(s,0),en(s,0),en(s,0),en(s,9===s.level?2:s.strategy>=wr||s.level<2?4:0),en(s,3),s.status=kr,$r(t),0!==s.pending)return s.last_flush=-1,Pr;if(69===s.status){if(s.gzhead.extra){let e=s.pending,i=(65535&s.gzhead.extra.length)-s.gzindex;for(;s.pending+i>s.pending_buf_size;){let r=s.pending_buf_size-s.pending;if(s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex,s.gzindex+r),s.pending),s.pending=s.pending_buf_size,s.gzhead.hcrc&&s.pending>e&&(t.adler=dr(t.adler,s.pending_buf,s.pending-e,e)),s.gzindex+=r,$r(t),0!==s.pending)return s.last_flush=-1,Pr;e=0,i-=r}let r=new Uint8Array(s.gzhead.extra);s.pending_buf.set(r.subarray(s.gzindex,s.gzindex+i),s.pending),s.pending+=i,s.gzhead.hcrc&&s.pending>e&&(t.adler=dr(t.adler,s.pending_buf,s.pending-e,e)),s.gzindex=0}s.status=73}if(73===s.status){if(s.gzhead.name){let e,i=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>i&&(t.adler=dr(t.adler,s.pending_buf,s.pending-i,i)),$r(t),0!==s.pending)return s.last_flush=-1,Pr;i=0}e=s.gzindexi&&(t.adler=dr(t.adler,s.pending_buf,s.pending-i,i)),s.gzindex=0}s.status=91}if(91===s.status){if(s.gzhead.comment){let e,i=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>i&&(t.adler=dr(t.adler,s.pending_buf,s.pending-i,i)),$r(t),0!==s.pending)return s.last_flush=-1,Pr;i=0}e=s.gzindexi&&(t.adler=dr(t.adler,s.pending_buf,s.pending-i,i))}s.status=103}if(103===s.status){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size&&($r(t),0!==s.pending))return s.last_flush=-1,Pr;en(s,255&t.adler),en(s,t.adler>>8&255),t.adler=0}if(s.status=kr,$r(t),0!==s.pending)return s.last_flush=-1,Pr}if(0!==t.avail_in||0!==s.lookahead||e!==Sr&&s.status!==Xr){let i=0===s.level?on(s,e):s.strategy===wr?((t,e)=>{let s;for(;;){if(0===t.lookahead&&(an(t),0===t.lookahead)){if(e===Sr)return 1;break}if(t.match_length=0,s=mr(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,s&&(tn(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Lr?(tn(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(tn(t,!1),0===t.strm.avail_out)?1:2})(s,e):s.strategy===Gr?((t,e)=>{let s,i,r,n;const a=t.window;for(;;){if(t.lookahead<=jr){if(an(t),t.lookahead<=jr&&e===Sr)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(r=t.strstart-1,i=a[r],i===a[++r]&&i===a[++r]&&i===a[++r])){n=t.strstart+jr;do{}while(i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&rt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(s=mr(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(s=mr(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),s&&(tn(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Lr?(tn(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(tn(t,!1),0===t.strm.avail_out)?1:2})(s,e):pn[s.level].func(s,e);if(3!==i&&4!==i||(s.status=Xr),1===i||3===i)return 0===t.avail_out&&(s.last_flush=-1),Pr;if(2===i&&(e===Cr?Ar(s):e!==br&&(Or(s,0,0,!1),e===vr&&(qr(s.head),0===s.lookahead&&(s.strstart=0,s.block_start=0,s.insert=0))),$r(t),0===t.avail_out))return s.last_flush=-1,Pr}return e!==Lr?Pr:s.wrap<=0?gr:(2===s.wrap?(en(s,255&t.adler),en(s,t.adler>>8&255),en(s,t.adler>>16&255),en(s,t.adler>>24&255),en(s,255&t.total_in),en(s,t.total_in>>8&255),en(s,t.total_in>>16&255),en(s,t.total_in>>24&255)):(sn(s,t.adler>>>16),sn(s,65535&t.adler)),$r(t),s.wrap>0&&(s.wrap=-s.wrap),0!==s.pending?Pr:gr)},deflateEnd:t=>{if(En(t))return xr;const e=t.state.status;return t.state=null,e===kr?Kr(t,_r):Pr},deflateSetDictionary:(t,e)=>{let s=e.length;if(En(t))return xr;const i=t.state,r=i.wrap;if(2===r||1===r&&i.status!==zr||i.lookahead)return xr;if(1===r&&(t.adler=yr(t.adler,e,s,0)),i.wrap=0,s>=i.w_size){0===r&&(qr(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(s-i.w_size,s),0),e=t,s=i.w_size}const n=t.avail_in,a=t.next_in,o=t.input;for(t.avail_in=s,t.next_in=0,t.input=e,an(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=Jr(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,an(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=a,t.input=o,t.avail_in=n,i.wrap=r,Pr},deflateInfo:"pako deflate (from Nodeca project)"};const Nn=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Rn=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const s=e.shift();if(s){if("object"!=typeof s)throw new TypeError(s+"must be non-object");for(const e in s)Nn(s,e)&&(t[e]=s[e])}}return t},fn=t=>{let e=0;for(let s=0,i=t.length;s=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Dn[254]=Dn[254]=1;var mn=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,s,i,r,n,a=t.length,o=0;for(r=0;r>>6,e[n++]=128|63&s):s<65536?(e[n++]=224|s>>>12,e[n++]=128|s>>>6&63,e[n++]=128|63&s):(e[n++]=240|s>>>18,e[n++]=128|s>>>12&63,e[n++]=128|s>>>6&63,e[n++]=128|63&s);return e},An=(t,e)=>{const s=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,r;const n=new Array(2*s);for(r=0,i=0;i4)n[r++]=65533,i+=a-1;else{for(e&=2===a?31:3===a?15:7;a>1&&i1?n[r++]=65533:e<65536?n[r++]=e:(e-=65536,n[r++]=55296|e>>10&1023,n[r++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&On)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let s="";for(let i=0;i{(e=e||t.length)>t.length&&(e=t.length);let s=e-1;for(;s>=0&&128==(192&t[s]);)s--;return s<0||0===s?e:s+Dn[t[s]]>e?s:e};var Cn=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};const vn=Object.prototype.toString,{Z_NO_FLUSH:Ln,Z_SYNC_FLUSH:bn,Z_FULL_FLUSH:Pn,Z_FINISH:gn,Z_OK:xn,Z_STREAM_END:_n,Z_DEFAULT_COMPRESSION:Mn,Z_DEFAULT_STRATEGY:Fn,Z_DEFLATED:Un}=Rr;function wn(t){this.options=Rn({level:Mn,method:Un,chunkSize:16384,windowBits:15,memLevel:8,strategy:Fn},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Cn,this.strm.avail_out=0;let s=dn.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(s!==xn)throw new Error(Nr[s]);if(e.header&&dn.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?mn(e.dictionary):"[object ArrayBuffer]"===vn.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,s=dn.deflateSetDictionary(this.strm,t),s!==xn)throw new Error(Nr[s]);this._dict_set=!0}}function Gn(t,e){const s=new wn(e);if(s.push(t,!0),s.err)throw s.msg||Nr[s.err];return s.result}wn.prototype.push=function(t,e){const s=this.strm,i=this.options.chunkSize;let r,n;if(this.ended)return!1;for(n=e===~~e?e:!0===e?gn:Ln,"string"==typeof t?s.input=mn(t):"[object ArrayBuffer]"===vn.call(t)?s.input=new Uint8Array(t):s.input=t,s.next_in=0,s.avail_in=s.input.length;;)if(0===s.avail_out&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),(n===bn||n===Pn)&&s.avail_out<=6)this.onData(s.output.subarray(0,s.next_out)),s.avail_out=0;else{if(r=dn.deflate(s,n),r===_n)return s.next_out>0&&this.onData(s.output.subarray(0,s.next_out)),r=dn.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===xn;if(0!==s.avail_out){if(n>0&&s.next_out>0)this.onData(s.output.subarray(0,s.next_out)),s.avail_out=0;else if(0===s.avail_in)break}else this.onData(s.output)}return!0},wn.prototype.onData=function(t){this.chunks.push(t)},wn.prototype.onEnd=function(t){t===xn&&(this.result=fn(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Hn={Deflate:wn,deflate:Gn,deflateRaw:function(t,e){return(e=e||{}).raw=!0,Gn(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,Gn(t,e)}};const Bn=16209;var Vn=function(t,e){let s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D,m,A,S;const C=t.state;s=t.next_in,A=t.input,i=s+(t.avail_in-5),r=t.next_out,S=t.output,n=r-(e-t.avail_out),a=r+(t.avail_out-257),o=C.dmax,h=C.wsize,c=C.whave,l=C.wnext,p=C.window,u=C.hold,E=C.bits,I=C.lencode,y=C.distcode,T=(1<>>24,u>>>=R,E-=R,R=N>>>16&255,0===R)S[r++]=65535&N;else{if(!(16&R)){if(64&R){if(32&R){C.mode=16191;break t}t.msg="invalid literal/length code",C.mode=Bn;break t}N=I[(65535&N)+(u&(1<>>=R,E-=R),E<15&&(u+=A[s++]<>>24,u>>>=R,E-=R,R=N>>>16&255,16&R){if(O=65535&N,R&=15,Eo){t.msg="invalid distance too far back",C.mode=Bn;break t}if(u>>>=R,E-=R,R=r-n,O>R){if(R=O-R,R>c&&C.sane){t.msg="invalid distance too far back",C.mode=Bn;break t}if(D=0,m=p,0===l){if(D+=h-R,R2;)S[r++]=m[D++],S[r++]=m[D++],S[r++]=m[D++],f-=3;f&&(S[r++]=m[D++],f>1&&(S[r++]=m[D++]))}else{D=r-O;do{S[r++]=S[D++],S[r++]=S[D++],S[r++]=S[D++],f-=3}while(f>2);f&&(S[r++]=S[D++],f>1&&(S[r++]=S[D++]))}break}if(64&R){t.msg="invalid distance code",C.mode=Bn;break t}N=y[(65535&N)+(u&(1<>3,s-=f,E-=f<<3,u&=(1<{const h=o.bits;let c,l,p,u,E,I,y=0,T=0,d=0,N=0,R=0,f=0,O=0,D=0,m=0,A=0,S=null;const C=new Uint16Array(16),v=new Uint16Array(16);let L,b,P,g=null;for(y=0;y<=Wn;y++)C[y]=0;for(T=0;T=1&&0===C[N];N--);if(R>N&&(R=N),0===N)return r[n++]=20971520,r[n++]=20971520,o.bits=1,0;for(d=1;d0&&(0===t||1!==N))return-1;for(v[1]=0,y=1;y852||2===t&&m>592)return 1;for(;;){L=y-O,a[T]+1=I?(b=g[a[T]-I],P=S[a[T]-I]):(b=96,P=0),c=1<>O)+l]=L<<24|b<<16|P}while(0!==l);for(c=1<>=1;if(0!==c?(A&=c-1,A+=c):A=0,T++,0==--C[y]){if(y===N)break;y=e[s+a[T]]}if(y>R&&(A&u)!==p){for(0===O&&(O=R),E+=d,f=y-O,D=1<852||2===t&&m>592)return 1;p=A&u,r[p]=R<<24|f<<16|E-n}}return 0!==A&&(r[E+A]=y-O<<24|64<<16),o.bits=R,0};const{Z_FINISH:Kn,Z_BLOCK:Zn,Z_TREES:qn,Z_OK:Qn,Z_STREAM_END:Jn,Z_NEED_DICT:$n,Z_STREAM_ERROR:ta,Z_DATA_ERROR:ea,Z_MEM_ERROR:sa,Z_BUF_ERROR:ia,Z_DEFLATED:ra}=Rr,na=16180,aa=16190,oa=16191,ha=16192,ca=16194,la=16199,pa=16200,ua=16206,Ea=16209,Ia=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ya(){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}const Ta=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode16211?1:0},da=t=>{if(Ta(t))return ta;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=na,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,Qn},Na=t=>{if(Ta(t))return ta;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,da(t)},Ra=(t,e)=>{let s;if(Ta(t))return ta;const i=t.state;return e<0?(s=0,e=-e):(s=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?ta:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=s,i.wbits=e,Na(t))},fa=(t,e)=>{if(!t)return ta;const s=new ya;t.state=s,s.strm=t,s.window=null,s.mode=na;const i=Ra(t,e);return i!==Qn&&(t.state=null),i};let Oa,Da,ma=!0;const Aa=t=>{if(ma){Oa=new Int32Array(512),Da=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(Xn(1,t.lens,0,288,Oa,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;Xn(2,t.lens,0,32,Da,0,t.work,{bits:5}),ma=!1}t.lencode=Oa,t.lenbits=9,t.distcode=Da,t.distbits=5},Sa=(t,e,s,i)=>{let r;const n=t.state;return null===n.window&&(n.wsize=1<=n.wsize?(n.window.set(e.subarray(s-n.wsize,s),0),n.wnext=0,n.whave=n.wsize):(r=n.wsize-n.wnext,r>i&&(r=i),n.window.set(e.subarray(s-i,s-i+r),n.wnext),(i-=r)?(n.window.set(e.subarray(s-i,s),0),n.wnext=i,n.whave=n.wsize):(n.wnext+=r,n.wnext===n.wsize&&(n.wnext=0),n.whavefa(t,15),inflateInit2:fa,inflate:(t,e)=>{let s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D,m,A=0;const S=new Uint8Array(4);let C,v;const L=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ta(t)||!t.output||!t.input&&0!==t.avail_in)return ta;s=t.state,s.mode===oa&&(s.mode=ha),a=t.next_out,r=t.output,h=t.avail_out,n=t.next_in,i=t.input,o=t.avail_in,c=s.hold,l=s.bits,p=o,u=h,m=Qn;t:for(;;)switch(s.mode){case na:if(0===s.wrap){s.mode=ha;break}for(;l<16;){if(0===o)break t;o--,c+=i[n++]<>>8&255,s.check=dr(s.check,S,2,0),c=0,l=0,s.mode=16181;break}if(s.head&&(s.head.done=!1),!(1&s.wrap)||(((255&c)<<8)+(c>>8))%31){t.msg="incorrect header check",s.mode=Ea;break}if((15&c)!==ra){t.msg="unknown compression method",s.mode=Ea;break}if(c>>>=4,l-=4,D=8+(15&c),0===s.wbits&&(s.wbits=D),D>15||D>s.wbits){t.msg="invalid window size",s.mode=Ea;break}s.dmax=1<>8&1),512&s.flags&&4&s.wrap&&(S[0]=255&c,S[1]=c>>>8&255,s.check=dr(s.check,S,2,0)),c=0,l=0,s.mode=16182;case 16182:for(;l<32;){if(0===o)break t;o--,c+=i[n++]<>>8&255,S[2]=c>>>16&255,S[3]=c>>>24&255,s.check=dr(s.check,S,4,0)),c=0,l=0,s.mode=16183;case 16183:for(;l<16;){if(0===o)break t;o--,c+=i[n++]<>8),512&s.flags&&4&s.wrap&&(S[0]=255&c,S[1]=c>>>8&255,s.check=dr(s.check,S,2,0)),c=0,l=0,s.mode=16184;case 16184:if(1024&s.flags){for(;l<16;){if(0===o)break t;o--,c+=i[n++]<>>8&255,s.check=dr(s.check,S,2,0)),c=0,l=0}else s.head&&(s.head.extra=null);s.mode=16185;case 16185:if(1024&s.flags&&(E=s.length,E>o&&(E=o),E&&(s.head&&(D=s.head.extra_len-s.length,s.head.extra||(s.head.extra=new Uint8Array(s.head.extra_len)),s.head.extra.set(i.subarray(n,n+E),D)),512&s.flags&&4&s.wrap&&(s.check=dr(s.check,i,E,n)),o-=E,n+=E,s.length-=E),s.length))break t;s.length=0,s.mode=16186;case 16186:if(2048&s.flags){if(0===o)break t;E=0;do{D=i[n+E++],s.head&&D&&s.length<65536&&(s.head.name+=String.fromCharCode(D))}while(D&&E>9&1,s.head.done=!0),t.adler=s.check=0,s.mode=oa;break;case 16189:for(;l<32;){if(0===o)break t;o--,c+=i[n++]<>>=7&l,l-=7&l,s.mode=ua;break}for(;l<3;){if(0===o)break t;o--,c+=i[n++]<>>=1,l-=1,3&c){case 0:s.mode=16193;break;case 1:if(Aa(s),s.mode=la,e===qn){c>>>=2,l-=2;break t}break;case 2:s.mode=16196;break;case 3:t.msg="invalid block type",s.mode=Ea}c>>>=2,l-=2;break;case 16193:for(c>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,c+=i[n++]<>>16^65535)){t.msg="invalid stored block lengths",s.mode=Ea;break}if(s.length=65535&c,c=0,l=0,s.mode=ca,e===qn)break t;case ca:s.mode=16195;case 16195:if(E=s.length,E){if(E>o&&(E=o),E>h&&(E=h),0===E)break t;r.set(i.subarray(n,n+E),a),o-=E,n+=E,h-=E,a+=E,s.length-=E;break}s.mode=oa;break;case 16196:for(;l<14;){if(0===o)break t;o--,c+=i[n++]<>>=5,l-=5,s.ndist=1+(31&c),c>>>=5,l-=5,s.ncode=4+(15&c),c>>>=4,l-=4,s.nlen>286||s.ndist>30){t.msg="too many length or distance symbols",s.mode=Ea;break}s.have=0,s.mode=16197;case 16197:for(;s.have>>=3,l-=3}for(;s.have<19;)s.lens[L[s.have++]]=0;if(s.lencode=s.lendyn,s.lenbits=7,C={bits:s.lenbits},m=Xn(0,s.lens,0,19,s.lencode,0,s.work,C),s.lenbits=C.bits,m){t.msg="invalid code lengths set",s.mode=Ea;break}s.have=0,s.mode=16198;case 16198:for(;s.have>>24,d=A>>>16&255,N=65535&A,!(T<=l);){if(0===o)break t;o--,c+=i[n++]<>>=T,l-=T,s.lens[s.have++]=N;else{if(16===N){for(v=T+2;l>>=T,l-=T,0===s.have){t.msg="invalid bit length repeat",s.mode=Ea;break}D=s.lens[s.have-1],E=3+(3&c),c>>>=2,l-=2}else if(17===N){for(v=T+3;l>>=T,l-=T,D=0,E=3+(7&c),c>>>=3,l-=3}else{for(v=T+7;l>>=T,l-=T,D=0,E=11+(127&c),c>>>=7,l-=7}if(s.have+E>s.nlen+s.ndist){t.msg="invalid bit length repeat",s.mode=Ea;break}for(;E--;)s.lens[s.have++]=D}}if(s.mode===Ea)break;if(0===s.lens[256]){t.msg="invalid code -- missing end-of-block",s.mode=Ea;break}if(s.lenbits=9,C={bits:s.lenbits},m=Xn(1,s.lens,0,s.nlen,s.lencode,0,s.work,C),s.lenbits=C.bits,m){t.msg="invalid literal/lengths set",s.mode=Ea;break}if(s.distbits=6,s.distcode=s.distdyn,C={bits:s.distbits},m=Xn(2,s.lens,s.nlen,s.ndist,s.distcode,0,s.work,C),s.distbits=C.bits,m){t.msg="invalid distances set",s.mode=Ea;break}if(s.mode=la,e===qn)break t;case la:s.mode=pa;case pa:if(o>=6&&h>=258){t.next_out=a,t.avail_out=h,t.next_in=n,t.avail_in=o,s.hold=c,s.bits=l,Vn(t,u),a=t.next_out,r=t.output,h=t.avail_out,n=t.next_in,i=t.input,o=t.avail_in,c=s.hold,l=s.bits,s.mode===oa&&(s.back=-1);break}for(s.back=0;A=s.lencode[c&(1<>>24,d=A>>>16&255,N=65535&A,!(T<=l);){if(0===o)break t;o--,c+=i[n++]<>R)],T=A>>>24,d=A>>>16&255,N=65535&A,!(R+T<=l);){if(0===o)break t;o--,c+=i[n++]<>>=R,l-=R,s.back+=R}if(c>>>=T,l-=T,s.back+=T,s.length=N,0===d){s.mode=16205;break}if(32&d){s.back=-1,s.mode=oa;break}if(64&d){t.msg="invalid literal/length code",s.mode=Ea;break}s.extra=15&d,s.mode=16201;case 16201:if(s.extra){for(v=s.extra;l>>=s.extra,l-=s.extra,s.back+=s.extra}s.was=s.length,s.mode=16202;case 16202:for(;A=s.distcode[c&(1<>>24,d=A>>>16&255,N=65535&A,!(T<=l);){if(0===o)break t;o--,c+=i[n++]<>R)],T=A>>>24,d=A>>>16&255,N=65535&A,!(R+T<=l);){if(0===o)break t;o--,c+=i[n++]<>>=R,l-=R,s.back+=R}if(c>>>=T,l-=T,s.back+=T,64&d){t.msg="invalid distance code",s.mode=Ea;break}s.offset=N,s.extra=15&d,s.mode=16203;case 16203:if(s.extra){for(v=s.extra;l>>=s.extra,l-=s.extra,s.back+=s.extra}if(s.offset>s.dmax){t.msg="invalid distance too far back",s.mode=Ea;break}s.mode=16204;case 16204:if(0===h)break t;if(E=u-h,s.offset>E){if(E=s.offset-E,E>s.whave&&s.sane){t.msg="invalid distance too far back",s.mode=Ea;break}E>s.wnext?(E-=s.wnext,I=s.wsize-E):I=s.wnext-E,E>s.length&&(E=s.length),y=s.window}else y=r,I=a-s.offset,E=s.length;E>h&&(E=h),h-=E,s.length-=E;do{r[a++]=y[I++]}while(--E);0===s.length&&(s.mode=pa);break;case 16205:if(0===h)break t;r[a++]=s.length,h--,s.mode=pa;break;case ua:if(s.wrap){for(;l<32;){if(0===o)break t;o--,c|=i[n++]<{if(Ta(t))return ta;let e=t.state;return e.window&&(e.window=null),t.state=null,Qn},inflateGetHeader:(t,e)=>{if(Ta(t))return ta;const s=t.state;return 2&s.wrap?(s.head=e,e.done=!1,Qn):ta},inflateSetDictionary:(t,e)=>{const s=e.length;let i,r,n;return Ta(t)?ta:(i=t.state,0!==i.wrap&&i.mode!==aa?ta:i.mode===aa&&(r=1,r=yr(r,e,s,0),r!==i.check)?ea:(n=Sa(t,e,s,s),n?(i.mode=16210,sa):(i.havedict=1,Qn)))},inflateInfo:"pako inflate (from Nodeca project)"};var va=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const La=Object.prototype.toString,{Z_NO_FLUSH:ba,Z_FINISH:Pa,Z_OK:ga,Z_STREAM_END:xa,Z_NEED_DICT:_a,Z_STREAM_ERROR:Ma,Z_DATA_ERROR:Fa,Z_MEM_ERROR:Ua}=Rr;function wa(t){this.options=Rn({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(15&e.windowBits||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Cn,this.strm.avail_out=0;let s=Ca.inflateInit2(this.strm,e.windowBits);if(s!==ga)throw new Error(Nr[s]);if(this.header=new va,Ca.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=mn(e.dictionary):"[object ArrayBuffer]"===La.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(s=Ca.inflateSetDictionary(this.strm,e.dictionary),s!==ga)))throw new Error(Nr[s])}function Ga(t,e){const s=new wa(e);if(s.push(t),s.err)throw s.msg||Nr[s.err];return s.result}wa.prototype.push=function(t,e){const s=this.strm,i=this.options.chunkSize,r=this.options.dictionary;let n,a,o;if(this.ended)return!1;for(a=e===~~e?e:!0===e?Pa:ba,"[object ArrayBuffer]"===La.call(t)?s.input=new Uint8Array(t):s.input=t,s.next_in=0,s.avail_in=s.input.length;;){for(0===s.avail_out&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),n=Ca.inflate(s,a),n===_a&&r&&(n=Ca.inflateSetDictionary(s,r),n===ga?n=Ca.inflate(s,a):n===Fa&&(n=_a));s.avail_in>0&&n===xa&&s.state.wrap>0&&0!==t[s.next_in];)Ca.inflateReset(s),n=Ca.inflate(s,a);switch(n){case Ma:case Fa:case _a:case Ua:return this.onEnd(n),this.ended=!0,!1}if(o=s.avail_out,s.next_out&&(0===s.avail_out||n===xa))if("string"===this.options.to){let t=Sn(s.output,s.next_out),e=s.next_out-t,r=An(s.output,t);s.next_out=e,s.avail_out=i-e,e&&s.output.set(s.output.subarray(t,t+e),0),this.onData(r)}else this.onData(s.output.length===s.next_out?s.output:s.output.subarray(0,s.next_out));if(n!==ga||0!==o){if(n===xa)return n=Ca.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(0===s.avail_in)break}}return!0},wa.prototype.onData=function(t){this.chunks.push(t)},wa.prototype.onEnd=function(t){t===ga&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=fn(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Ha={Inflate:wa,inflate:Ga,inflateRaw:function(t,e){return(e=e||{}).raw=!0,Ga(t,e)},ungzip:Ga};const{Deflate:Ba,deflate:Va,deflateRaw:Wa,gzip:ja}=Hn,{Inflate:Ya,inflate:za,inflateRaw:ka,ungzip:Xa}=Ha;var Ka={Deflate:Ba,deflate:Va,deflateRaw:Wa,gzip:ja,Inflate:Ya,inflate:za,inflateRaw:ka,ungzip:Xa,constants:Rr};class Za{constructor(t){at(this,"id"),at(this,"thread"),this.id=this.getId(),this.thread=t,this.thread.actions[this.id]=t=>this.execute(t)}}const qa=new Int32Array(2),Qa=new Float32Array(qa.buffer),Ja=new Float64Array(qa.buffer),$a=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0];var to,eo;(eo=to||(to={}))[eo.UTF8_BYTES=1]="UTF8_BYTES",eo[eo.UTF16_STRING=2]="UTF16_STRING";class so{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new so(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,Number(BigInt.asIntN(32,e))),this.writeInt32(t+4,Number(BigInt.asIntN(32,e>>BigInt(32))))}writeUint64(t,e){this.writeUint32(t,Number(BigInt.asUintN(32,e))),this.writeUint32(t+4,Number(BigInt.asUintN(32,e>>BigInt(32))))}writeFloat32(t,e){Qa[0]=e,this.writeInt32(t,qa[0])}writeFloat64(t,e){Ja[0]=e,this.writeInt32(t,qa[$a?0:1]),this.writeInt32(t+4,qa[$a?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=t);const s=1+~(this.bb.capacity()-this.space+e)&t-1;for(;this.space=0&&0==this.vtable[e];e--);const s=e+1;for(;e>=0;e--)this.addInt16(0!=this.vtable[e]?t-this.vtable[e]:0);this.addInt16(t-this.object_start);const i=2*(s+2);this.addInt16(i);let r=0;const n=this.space;t:for(e=0;e=0;e--)this.writeInt8(t.charCodeAt(e))}this.prep(this.minalign,4+i),this.addOffset(t),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){const s=this.bb.capacity()-t,i=s-this.bb.readInt32(s);if(!(e65535?new Uint32Array(new e(4*t)):new Uint16Array(new e(2*t))}(s,e.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer);t.setIndex(new bs(i,1));for(let t=0;tt-e));for(let t=0;ts&&(s=r,e=i)}return e}function Io(t,e){e.set(t)}function yo(t,e,s){let i,r;for(let n=0;n<3;n++){const a=n+3;i=t[n],r=e[n],s[n]=ir?i:r}}function To(t,e,s){for(let i=0;i<3;i++){const r=e[t+2*i],n=e[t+2*i+1],a=r-n,o=r+n;as[i+3]&&(s[i+3]=o)}}function No(t){const e=t[3]-t[0],s=t[4]-t[1],i=t[5]-t[2];return 2*(e*s+s*i+i*e)}function Ro(t,e,s,i,r=null){let n=1/0,a=1/0,o=1/0,h=-1/0,c=-1/0,l=-1/0,p=1/0,u=1/0,E=1/0,I=-1/0,y=-1/0,T=-1/0;const d=null!==r;for(let i=6*e,r=6*(e+s);ih&&(h=N),d&&eI&&(I=e);const R=t[i+2],f=t[i+3],O=R-f,D=R+f;Oc&&(c=D),d&&Ry&&(y=R);const m=t[i+4],A=t[i+5],S=m-A,C=m+A;Sl&&(l=C),d&&mT&&(T=m)}i[0]=n,i[1]=a,i[2]=o,i[3]=h,i[4]=c,i[5]=l,d&&(r[0]=p,r[1]=u,r[2]=E,r[3]=I,r[4]=y,r[5]=T)}const fo=32,Oo=(t,e)=>t.candidate-e.candidate,Do=new Array(fo).fill().map((()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}))),mo=new Float32Array(6);class Ao{constructor(){}}function So(t,e,s,i,r,n){let a=i,o=i+r-1;const h=n.pos,c=2*n.axis;for(;;){for(;a<=o&&s[6*a+c]=h;)o--;if(!(a=h;)o--;if(!(ay&&(y=r),c>y&&(y=c);const T=(y-l)/2,d=2*t;a[n+d+0]=l+T,a[n+d+1]=T+(Math.abs(l)+T)*ao,le[t+3]&&(e[t+3]=y)}}return a}(s,u),y=e.indirect?Co:So,T=[],d=e.indirect?lo(s):po(s);if(1===d.length){const t=d[0],e=new Ao;e.boundingData=u,function(t,e,s,i){let r=1/0,n=1/0,a=1/0,o=-1/0,h=-1/0,c=-1/0;for(let i=6*e,l=6*(e+s);io&&(o=e);const s=t[i+2];sh&&(h=s);const l=t[i+4];lc&&(c=l)}i[0]=r,i[1]=n,i[2]=a,i[3]=o,i[4]=h,i[5]=c}(I,t.offset,t.count,E),R(e,t.offset,t.count,E),T.push(e)}else for(let t of d){const e=new Ao;e.boundingData=new Float32Array(6),Ro(I,t.offset,t.count,e.boundingData,E),R(e,t.offset,t.count,E),T.push(e)}return T;function N(t){h&&h(t/c)}function R(t,e,h,c=null,u=0){if(!p&&u>=r&&(p=!0,n&&(console.warn(`MeshBVH: Max depth of ${r} reached when generating BVH. Consider increasing maxDepth.`),console.warn(s))),h<=a||u>=r)return N(e+h),t.offset=e,t.count=h,t;const T=function(t,e,s,i,r,n){let a=-1,o=0;if(0===n)a=Eo(e),-1!==a&&(o=(e[a]+e[a+3])/2);else if(1===n)a=Eo(t),-1!==a&&(o=function(t,e,s,i){let r=0;for(let n=e,a=e+s;n=n.candidate?To(i,s,n.rightCacheBounds):(To(i,s,n.leftCacheBounds),n.count++)}}for(let s=0;s=fo&&(r=31);const n=Do[r];n.count++,To(e,s,n.bounds)}const e=Do[31];Io(e.bounds,e.rightCacheBounds);for(let t=30;t>=0;t--){const e=Do[t],s=Do[t+1];yo(e.bounds,s.rightCacheBounds,e.rightCacheBounds)}let u=0;for(let e=0;e<31;e++){const s=Do[e],i=s.count,c=s.bounds,l=Do[e+1].rightCacheBounds;0!==i&&(0===u?Io(c,mo):yo(c,mo,mo)),u+=i;let p=0,E=0;0!==u&&(p=No(mo)/n);const I=r-u;0!==I&&(E=No(l)/n);const y=1+ro*(p*u+E*I);y65536,r=i?4:2,n=e?new SharedArrayBuffer(s*r):new ArrayBuffer(s*r),a=i?new Uint32Array(n):new Uint16Array(n);for(let t=0,e=a.length;tt.offset-e.offset)),i=s[s.length-1];i.count=Math.min(e-i.offset,i.count);let r=0;return s.forEach((({count:t})=>r+=t)),e!==r}(s)&&!e.verbose&&console.warn('MeshBVH: Provided geometry contains groups that do not fully span the vertex contents while using the "indirect" option. BVH may incorrectly report intersections on unrendered portions of the geometry.')),t._indirectBuffer||co(s,e);const i=vo(t,e);let r,n,a;const o=[],h=e.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let t=0;tMath.pow(2,32))throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");return n[s+6]=o/4,o=l(o,r),n[s+7]=a,o}}}class bo{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(t,e){let s=1/0,i=-1/0;for(let r=0,n=t.length;ri?n:i}this.min=s,this.max=i}setFromPoints(t,e){let s=1/0,i=-1/0;for(let r=0,n=e.length;ri?a:i}this.min=s,this.max=i}isSeparated(t){return this.min>t.max||t.min>this.max}}bo.prototype.setFromBox=function(){const t=new $t;return function(e,s){const i=s.min,r=s.max;let n=1/0,a=-1/0;for(let s=0;s<=1;s++)for(let o=0;o<=1;o++)for(let h=0;h<=1;h++){t.x=i.x*s+r.x*(1-s),t.y=i.y*o+r.y*(1-o),t.z=i.z*h+r.z*(1-h);const c=e.dot(t);n=Math.min(c,n),a=Math.max(c,a)}this.min=n,this.max=a}}();const Po=function(){const t=new $t,e=new $t,s=new $t;return function(i,r,n){const a=i.start,o=t,h=r.start,c=e;s.subVectors(a,h),t.subVectors(i.end,i.start),e.subVectors(r.end,r.start);const l=s.dot(c),p=c.dot(o),u=c.dot(c),E=s.dot(o),I=o.dot(o)*u-p*p;let y,T;y=0!==I?(l*p-E*u)/I:0,T=(l+y*p)/u,n.x=y,n.y=T}}(),go=function(){const t=new Mt,e=new $t,s=new $t;return function(i,r,n,a){Po(i,r,t);let o=t.x,h=t.y;if(o>=0&&o<=1&&h>=0&&h<=1)return i.at(o,n),void r.at(h,a);if(o>=0&&o<=1)return h<0?r.at(0,a):r.at(1,a),void i.closestPointToPoint(a,!0,n);if(h>=0&&h<=1)return o<0?i.at(0,n):i.at(1,n),void r.closestPointToPoint(n,!0,a);{let t,c;t=o<0?i.start:i.end,c=h<0?r.start:r.end;const l=e,p=s;return i.closestPointToPoint(c,!0,e),r.closestPointToPoint(t,!0,s),l.distanceToSquared(c)<=p.distanceToSquared(t)?(n.copy(l),void a.copy(c)):(n.copy(t),void a.copy(p))}}}(),xo=function(){const t=new $t,e=new $t,s=new Ei,i=new Ri;return function(r,n){const{radius:a,center:o}=r,{a:h,b:c,c:l}=n;i.start=h,i.end=c;if(i.closestPointToPoint(o,!0,t).distanceTo(o)<=a)return!0;i.start=h,i.end=l;if(i.closestPointToPoint(o,!0,t).distanceTo(o)<=a)return!0;i.start=c,i.end=l;if(i.closestPointToPoint(o,!0,t).distanceTo(o)<=a)return!0;const p=n.getPlane(s);if(Math.abs(p.distanceToPoint(o))<=a){const t=p.projectPoint(o,e);if(n.containsPoint(t))return!0}return!1}}();function _o(t){return Math.abs(t)<1e-15}class Mo extends Ts{constructor(...t){super(...t),this.isExtendedTriangle=!0,this.satAxes=new Array(4).fill().map((()=>new $t)),this.satBounds=new Array(4).fill().map((()=>new bo)),this.points=[this.a,this.b,this.c],this.sphere=new fe,this.plane=new Ei,this.needsUpdate=!0}intersectsSphere(t){return xo(t,this)}update(){const t=this.a,e=this.b,s=this.c,i=this.points,r=this.satAxes,n=this.satBounds,a=r[0],o=n[0];this.getNormal(a),o.setFromPoints(a,i);const h=r[1],c=n[1];h.subVectors(t,e),c.setFromPoints(h,i);const l=r[2],p=n[2];l.subVectors(e,s),p.setFromPoints(l,i);const u=r[3],E=n[3];u.subVectors(s,t),E.setFromPoints(u,i),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(a,t),this.needsUpdate=!1}}Mo.prototype.closestPointToSegment=function(){const t=new $t,e=new $t,s=new Ri;return function(i,r=null,n=null){const{start:a,end:o}=i,h=this.points;let c,l=1/0;for(let a=0;a<3;a++){const o=(a+1)%3;s.start.copy(h[a]),s.end.copy(h[o]),go(s,i,t,e),c=t.distanceToSquared(e),c=2){(1===n?s.start:s.end).copy(E),r=2;break}if(r++,2===r&&-1===n)break}}return r}return function(a,l=null,E=!1){this.needsUpdate&&this.update(),a.isExtendedTriangle?a.needsUpdate&&a.update():(t.copy(a),t.update(),a=t);const y=this.plane,T=a.plane;if(Math.abs(y.normal.dot(T.normal))>1-1e-10){const t=this.satBounds,o=this.satAxes;s[0]=a.a,s[1]=a.b,s[2]=a.c;for(let e=0;e<4;e++){const r=t[e],n=o[e];if(i.setFromPoints(n,s),r.isSeparated(i))return!1}const h=a.satBounds,c=a.satAxes;e[0]=this.a,e[1]=this.b,e[2]=this.c;for(let t=0;t<4;t++){const s=h[t],r=c[t];if(i.setFromPoints(r,e),s.isSeparated(i))return!1}for(let t=0;t<4;t++){const a=o[t];for(let t=0;t<4;t++){const o=c[t];if(n.crossVectors(a,o),i.setFromPoints(n,e),r.setFromPoints(n,s),i.isSeparated(r))return!1}}return l&&(E||console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0."),l.start.set(0,0,0),l.end.set(0,0,0)),!0}{const t=I(this,T,p);if(1===t&&a.containsPoint(p.end))return l&&(l.start.copy(p.end),l.end.copy(p.end)),!0;if(2!==t)return!1;const e=I(a,y,u);if(1===e&&this.containsPoint(u.end))return l&&(l.start.copy(u.end),l.end.copy(u.end)),!0;if(2!==e)return!1;if(p.delta(o),u.delta(h),o.dot(h)<0){let t=u.start;u.start=u.end,u.end=t}const s=p.start.dot(o),i=p.end.dot(o),r=u.start.dot(o),n=u.end.dot(o);return(s===n||r===i||i0?l.start.copy(p.start):l.start.copy(u.start),c.subVectors(p.end,u.end),c.dot(o)<0?l.end.copy(p.end):l.end.copy(u.end)),!0)}}}(),Mo.prototype.distanceToPoint=function(){const t=new $t;return function(e){return this.closestPointToPoint(e,t),e.distanceTo(t)}}(),Mo.prototype.distanceToTriangle=function(){const t=new $t,e=new $t,s=["a","b","c"],i=new Ri,r=new Ri;return function(n,a=null,o=null){const h=a||o?i:null;if(this.intersectsTriangle(n,h))return(a||o)&&(a&&h.getCenter(a),o&&h.getCenter(o)),0;let c=1/0;for(let e=0;e<3;e++){let i;const r=s[e],h=n[r];this.closestPointToPoint(h,t),i=h.distanceToSquared(t),inew $t)),this.satAxes=new Array(3).fill().map((()=>new $t)),this.satBounds=new Array(3).fill().map((()=>new bo)),this.alignedSatBounds=new Array(3).fill().map((()=>new bo)),this.needsUpdate=!1,t&&this.min.copy(t),e&&this.max.copy(e),s&&this.matrix.copy(s)}set(t,e,s){this.min.copy(t),this.max.copy(e),this.matrix.copy(s),this.needsUpdate=!0}copy(t){this.min.copy(t.min),this.max.copy(t.max),this.matrix.copy(t.matrix),this.needsUpdate=!0}}Fo.prototype.update=function(){return function(){const t=this.matrix,e=this.min,s=this.max,i=this.points;for(let r=0;r<=1;r++)for(let n=0;n<=1;n++)for(let a=0;a<=1;a++){const o=i[1*r|2*n|4*a];o.x=r?s.x:e.x,o.y=n?s.y:e.y,o.z=a?s.z:e.z,o.applyMatrix4(t)}const r=this.satBounds,n=this.satAxes,a=i[0];for(let t=0;t<3;t++){const e=n[t],s=r[t],o=i[1<new Ri)),s=new Array(12).fill().map((()=>new Ri)),i=new $t,r=new $t;return function(n,a=0,o=null,h=null){if(this.needsUpdate&&this.update(),this.intersectsBox(n))return(o||h)&&(n.getCenter(r),this.closestPointToPoint(r,i),n.closestPointToPoint(i,r),o&&o.copy(i),h&&h.copy(r)),0;const c=a*a,l=n.min,p=n.max,u=this.points;let E=1/0;for(let t=0;t<8;t++){const e=u[t];r.copy(e).clamp(l,p);const s=e.distanceToSquared(r);if(snew Mo))}}const Go=new wo;function Ho(t,e){return 65535===e[t+15]}function Bo(t,e){return e[t+6]}function Vo(t,e){return e[t+14]}function Wo(t){return t+8}function jo(t,e){return e[t+6]}function Yo(t,e){return e[t+7]}const zo=new class{constructor(){this.float32Array=null,this.uint16Array=null,this.uint32Array=null;const t=[];let e=null;this.setBuffer=s=>{e&&t.push(e),e=s,this.float32Array=new Float32Array(s),this.uint16Array=new Uint16Array(s),this.uint32Array=new Uint32Array(s)},this.clearBuffer=()=>{e=null,this.float32Array=null,this.uint16Array=null,this.uint32Array=null,0!==t.length&&this.setBuffer(t.pop())}}};let ko,Xo;const Ko=[],Zo=new Uo((()=>new se));function qo(t,e,s,i,r,n){ko=Zo.getPrimitive(),Xo=Zo.getPrimitive(),Ko.push(ko,Xo),zo.setBuffer(t._roots[e]);const a=Qo(0,t.geometry,s,i,r,n);zo.clearBuffer(),Zo.releasePrimitive(ko),Zo.releasePrimitive(Xo),Ko.pop(),Ko.pop();const o=Ko.length;return o>0&&(Xo=Ko[o-1],ko=Ko[o-2]),a}function Qo(t,e,s,i,r=null,n=0,a=0){const{float32Array:o,uint16Array:h,uint32Array:c}=zo;let l=2*t;if(Ho(l,h)){const e=Bo(t,c),s=Vo(l,h);return uo(t,o,ko),i(e,s,!1,a,n+t,ko)}{let l=function(t){const{uint16Array:e,uint32Array:s}=zo;let i=2*t;for(;!Ho(i,e);)i=2*(t=Wo(t));return Bo(t,s)},p=function(t){const{uint16Array:e,uint32Array:s}=zo;let i=2*t;for(;!Ho(i,e);)i=2*(t=jo(t,s));return Bo(t,s)+Vo(i,e)};const u=Wo(t),E=jo(t,c);let I,y,T,d,N=u,R=E;if(r&&(T=ko,d=Xo,uo(N,o,T),uo(R,o,d),I=r(T),y=r(d),y0&&c.normal.multiplyScalar(-1));const e={a:n,b:a,c:o,normal:new $t,materialIndex:0};Ts.getNormal(th,eh,sh,e.normal),c.face=e,c.faceIndex=n}return c}(s,l,p,u,E,a,o,h,e);return I?(I.faceIndex=i,r&&r.push(I),I):null}function ph(t,e,s,i){const r=t.a,n=t.b,a=t.c;let o=e,h=e+1,c=e+2;s&&(o=s.getX(o),h=s.getX(h),c=s.getX(c)),r.x=i.getX(o),r.y=i.getY(o),r.z=i.getZ(o),n.x=i.getX(h),n.y=i.getY(h),n.z=i.getZ(h),a.x=i.getX(c),a.y=i.getY(c),a.z=i.getZ(c)}function uh(t,e,s,i,r,n,a){const{geometry:o}=s,{index:h}=o,c=o.attributes.position;for(let s=t,o=e+t;sp&&(p=a),ou&&(u=o),hE&&(E=h)}return(h[t+0]!==s||h[t+1]!==n||h[t+2]!==l||h[t+3]!==p||h[t+4]!==u||h[t+5]!==E)&&(h[t+0]=s,h[t+1]=n,h[t+2]=l,h[t+3]=p,h[t+4]=u,h[t+5]=E,!0)}{const i=t+8,r=a[t+6],o=i+s,c=r+s;let l=n,u=!1,E=!1;e?l||(u=e.has(o),E=e.has(c),l=!u&&!E):(u=!0,E=!0);const I=l||E;let y=!1;(l||u)&&(y=p(i,s,l));let T=!1;I&&(T=p(r,s,l));const d=y||T;if(d)for(let e=0;e<3;e++){const s=i+e,n=r+e,a=h[s],o=h[s+3],c=h[n],l=h[n+3];h[t+e]=al?o:l}return d}}}const Ih=new se;function yh(t,e,s,i){return uo(t,e,Ih),s.intersectBox(Ih,i)}function Th(t,e,s,i,r,n,a){const{geometry:o}=s,{index:h}=o,c=o.attributes.position;for(let o=t,l=e+t;o=0;let c,l;h?(c=Wo(t),l=jo(t,a)):(c=jo(t,a),l=Wo(t));const p=yh(c,r,i,fh)?mh(c,e,s,i):null;if(p){const t=p.point[o];if(h?t<=r[l+n]:t>=r[l+n+3])return p}const u=yh(l,r,i,fh)?mh(l,e,s,i):null;return p&&u?p.distance<=u.distance?p:u:p||u||null}}const Ah=new se,Sh=new Mo,Ch=new Mo,vh=new be,Lh=new Fo,bh=new Fo;function Ph(t,e,s,i){zo.setBuffer(t._roots[e]);const r=gh(0,t,s,i);return zo.clearBuffer(),r}function gh(t,e,s,i,r=null){const{float32Array:n,uint16Array:a,uint32Array:o}=zo;let h=2*t;null===r&&(s.boundingBox||s.computeBoundingBox(),Lh.set(s.boundingBox.min,s.boundingBox.max,i),r=Lh);if(!Ho(h,a)){const a=t+8,h=o[t+6];uo(a,n,Ah);if(r.intersectsBox(Ah)&&gh(a,e,s,i,r))return!0;uo(h,n,Ah);return!!(r.intersectsBox(Ah)&&gh(h,e,s,i,r))}{const r=e.geometry,c=r.index,l=r.attributes.position,p=s.index,u=s.attributes.position,E=Bo(t,o),I=Vo(h,a);if(vh.copy(i).invert(),s.boundsTree){uo(t,n,bh),bh.matrix.copy(vh),bh.needsUpdate=!0;return s.boundsTree.shapecast({intersectsBounds:t=>bh.intersectsBox(t),intersectsTriangle:t=>{t.a.applyMatrix4(i),t.b.applyMatrix4(i),t.c.applyMatrix4(i),t.needsUpdate=!0;for(let e=3*E,s=3*(I+E);e_h.distanceToBox(t),intersectsBounds:(t,e,s)=>s{if(e.boundsTree){return e.boundsTree.shapecast({boundsTraverseOrder:t=>Mh.distanceToBox(t),intersectsBounds:(t,e,s)=>s{for(let a=e,o=e+r;au&&(u=a),oE&&(E=o),hI&&(I=h)}}return(h[s+0]!==n||h[s+1]!==c||h[s+2]!==p||h[s+3]!==u||h[s+4]!==E||h[s+5]!==I)&&(h[s+0]=n,h[s+1]=c,h[s+2]=p,h[s+3]=u,h[s+4]=E,h[s+5]=I,!0)}{const t=s+8,i=a[s+6],r=t+n,o=i+n;let l=c,u=!1,E=!1;e?l||(u=e.has(r),E=e.has(o),l=!u&&!E):(u=!0,E=!0);const I=l||E;let y=!1;(l||u)&&(y=p(t,n,l));let T=!1;I&&(T=p(i,n,l));const d=y||T;if(d)for(let e=0;e<3;e++){const r=t+e,n=i+e,a=h[r],o=h[r+3],c=h[n],l=h[n+3];h[s+e]=al?o:l}return d}}}const Vh=new $t;function Wh(t,e,s,i,r){zo.setBuffer(t._roots[e]),jh(0,t,s,i,r),zo.clearBuffer()}function jh(t,e,s,i,r){const{float32Array:n,uint16Array:a,uint32Array:o}=zo,h=2*t;if(Ho(h,a)){!function(t,e,s,i,r,n){const{geometry:a,_indirectBuffer:o}=t;for(let t=i,h=i+r;t=0;let c,l;h?(c=Wo(t),l=jo(t,a)):(c=jo(t,a),l=Wo(t));const p=yh(c,r,i,Yh)?Xh(c,e,s,i):null;if(p){const t=p.point[o];if(h?t<=r[l+n]:t>=r[l+n+3])return p}const u=yh(l,r,i,Yh)?Xh(l,e,s,i):null;return p&&u?p.distance<=u.distance?p:u:p||u||null}}const Kh=new se,Zh=new Mo,qh=new Mo,Qh=new be,Jh=new Fo,$h=new Fo;function tc(t,e,s,i){zo.setBuffer(t._roots[e]);const r=ec(0,t,s,i);return zo.clearBuffer(),r}function ec(t,e,s,i,r=null){const{float32Array:n,uint16Array:a,uint32Array:o}=zo;let h=2*t;null===r&&(s.boundingBox||s.computeBoundingBox(),Jh.set(s.boundingBox.min,s.boundingBox.max,i),r=Jh);if(!Ho(h,a)){const a=t+8,h=o[t+6];uo(a,n,Kh);if(r.intersectsBox(Kh)&&ec(a,e,s,i,r))return!0;uo(h,n,Kh);return!!(r.intersectsBox(Kh)&&ec(h,e,s,i,r))}{const r=e.geometry,c=r.index,l=r.attributes.position,p=s.index,u=s.attributes.position,E=Bo(t,o),I=Vo(h,a);if(Qh.copy(i).invert(),s.boundsTree){uo(t,n,$h),$h.matrix.copy(Qh),$h.needsUpdate=!0;return s.boundsTree.shapecast({intersectsBounds:t=>$h.intersectsBox(t),intersectsTriangle:t=>{t.a.applyMatrix4(i),t.b.applyMatrix4(i),t.c.applyMatrix4(i),t.needsUpdate=!0;for(let s=E,i=I+E;sic.distanceToBox(t),intersectsBounds:(t,e,s)=>s{if(e.boundsTree){const o=e.boundsTree;return o.shapecast({boundsTraverseOrder:t=>rc.distanceToBox(t),intersectsBounds:(t,e,s)=>s{for(let O=e,D=e+a;Onew se)),Ec=new se,Ic=new se,yc=new se,Tc=new se;let dc=!1;function Nc(t,e,s,i,r,n=0,a=0,o=0,h=0,c=null,l=!1){let p,u;l?(p=pc,u=lc):(p=lc,u=pc);const E=p.float32Array,I=p.uint32Array,y=p.uint16Array,T=u.float32Array,d=u.uint32Array,N=u.uint16Array,R=2*e,f=Ho(2*t,y),O=Ho(R,N);let D=!1;if(O&&f)D=l?r(Bo(e,d),Vo(2*e,N),Bo(t,I),Vo(2*t,y),h,a+e,o,n+t):r(Bo(t,I),Vo(2*t,y),Bo(e,d),Vo(2*e,N),o,n+t,h,a+e);else if(O){const c=uc.getPrimitive();uo(e,T,c),c.applyMatrix4(s);const p=Wo(t),u=jo(t,I);uo(p,E,Ec),uo(u,E,Ic);const y=c.intersectsBox(Ec),d=c.intersectsBox(Ic);D=y&&Nc(e,p,i,s,r,a,n,h,o+1,c,!l)||d&&Nc(e,u,i,s,r,a,n,h,o+1,c,!l),uc.releasePrimitive(c)}else{const p=Wo(e),u=jo(e,d);uo(p,T,yc),uo(u,T,Tc);const y=c.intersectsBox(yc),N=c.intersectsBox(Tc);if(y&&N)D=Nc(t,p,s,i,r,n,a,o,h+1,c,l)||Nc(t,u,s,i,r,n,a,o,h+1,c,l);else if(y)if(f)D=Nc(t,p,s,i,r,n,a,o,h+1,c,l);else{const e=uc.getPrimitive();e.copy(yc).applyMatrix4(s);const c=Wo(t),u=jo(t,I);uo(c,E,Ec),uo(u,E,Ic);const y=e.intersectsBox(Ec),T=e.intersectsBox(Ic);D=y&&Nc(p,c,i,s,r,a,n,h,o+1,e,!l)||T&&Nc(p,u,i,s,r,a,n,h,o+1,e,!l),uc.releasePrimitive(e)}else if(N)if(f)D=Nc(t,u,s,i,r,n,a,o,h+1,c,l);else{const e=uc.getPrimitive();e.copy(Tc).applyMatrix4(s);const c=Wo(t),p=jo(t,I);uo(c,E,Ec),uo(p,E,Ic);const y=e.intersectsBox(Ec),T=e.intersectsBox(Ic);D=y&&Nc(u,c,i,s,r,a,n,h,o+1,e,!l)||T&&Nc(u,p,i,s,r,a,n,h,o+1,e,!l),uc.releasePrimitive(e)}}return D}const Rc=new Fo,fc=new se;class Oc{static serialize(t,e={}){e={cloneBuffers:!0,...e};const s=t.geometry,i=t._roots,r=t._indirectBuffer,n=s.getIndex();let a;return a=e.cloneBuffers?{roots:i.map((t=>t.slice())),index:n.array.slice(),indirectBuffer:r?r.slice():null}:{roots:i,index:n.array,indirectBuffer:r},a}static deserialize(t,e,s={}){s={setIndex:!0,indirect:Boolean(t.indirectBuffer),...s};const{index:i,roots:r,indirectBuffer:n}=t,a=new Oc(e,{...s,[oo]:!0});if(a._roots=r,a._indirectBuffer=n||null,s.setIndex){const s=e.getIndex();if(null===s){const s=new bs(t.index,1,!1);e.setIndex(s)}else s.array!==i&&(s.array.set(i),s.needsUpdate=!0)}return a}get indirect(){return!!this._indirectBuffer}constructor(t,e={}){if(!t.isBufferGeometry)throw new Error("MeshBVH: Only BufferGeometries are supported.");if(t.index&&t.index.isInterleavedBufferAttribute)throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.");if((e=Object.assign({strategy:0,maxDepth:40,maxLeafTris:10,verbose:!0,useSharedArrayBuffer:!1,setBoundingBox:!0,onProgress:null,indirect:!1,[oo]:!1},e)).useSharedArrayBuffer&&"undefined"==typeof SharedArrayBuffer)throw new Error("MeshBVH: SharedArrayBuffer is not available.");this.geometry=t,this._roots=null,this._indirectBuffer=null,e[oo]||(Lo(this,e),!t.boundingBox&&e.setBoundingBox&&(t.boundingBox=this.getBoundingBox(new se)));const{_indirectBuffer:s}=this;this.resolveTriangleIndex=e.indirect?t=>s[t]:t=>t}refit(t=null){return(this.indirect?Bh:Eh)(this,t)}traverse(t,e=0){const s=this._roots[e],i=new Uint32Array(s),r=new Uint16Array(s);!function e(n,a=0){const o=2*n,h=r[o+15]===no;if(h){const e=i[n+6],c=r[o+14];t(a,h,new Float32Array(s,4*n,6),e,c)}else{const r=n+8,o=i[n+6],c=i[n+7];t(a,h,new Float32Array(s,4*n,6),c)||(e(r,a+1),e(o,a+1))}}(0)}raycast(t,e=0){const s=this._roots,i=this.geometry,r=[],n=e.isMaterial,a=Array.isArray(e),o=i.groups,h=n?e.side:e,c=this.indirect?Wh:Nh;for(let i=0,n=s.length;i!!t(i,r,n,o,h)||s(i,r,this,a,n,o,e)}else n||(n=a?(t,i,r,n)=>s(t,i,this,a,r,n,e):(t,e,s)=>s);let o=!1,h=0;const c=this._roots;for(let t=0,e=c.length;t{const e=this.resolveTriangleIndex(t);ph(n,3*e,a,o)}:t=>{ph(n,3*t,a,o)},c=Go.getPrimitive(),l=t.geometry.index,p=t.geometry.attributes.position,u=t.indirect?e=>{const s=t.resolveTriangleIndex(e);ph(c,3*s,l,p)}:t=>{ph(c,3*t,l,p)};if(r){const t=(t,s,i,a,o,l,p,E)=>{for(let I=i,y=i+a;IRc.intersectsBox(t),intersectsTriangle:t=>Rc.intersectsTriangle(t)})}intersectsSphere(t){return this.shapecast({intersectsBounds:e=>t.intersectsBox(e),intersectsTriangle:e=>e.intersectsSphere(t)})}closestPointToGeometry(t,e,s={},i={},r=0,n=1/0){return(this.indirect?cc:Hh)(this,t,e,s,i,r,n)}closestPointToPoint(t,e={},s=0,i=1/0){return function(t,e,s={},i=0,r=1/0){const n=i*i,a=r*r;let o=1/0,h=null;if(t.shapecast({boundsTraverseOrder:t=>(Jo.copy(e).clamp(t.min,t.max),Jo.distanceToSquared(e)),intersectsBounds:(t,e,s)=>s{t.closestPointToPoint(e,Jo);const i=e.distanceToSquared(Jo);return i{uo(0,new Float32Array(e),fc),t.union(fc)})),t}}function Dc(t,e,s){return null===t?null:(t.point.applyMatrix4(e.matrixWorld),t.distance=t.point.distanceTo(s.ray.origin),t.object=e,t.distances.far?null:t)}const mc=new Le,Ac=new be,Sc=Js.prototype.raycast;function Cc(t,e){if(this.geometry.boundsTree){if(void 0===this.material)return;Ac.copy(this.matrixWorld).invert(),mc.copy(t.ray).applyMatrix4(Ac);const s=this.geometry.boundsTree;if(!0===t.firstHitOnly){const i=Dc(s.raycastFirst(mc,this.material),this,t);i&&e.push(i)}else{const i=s.raycast(mc,this.material);for(let s=0,r=i.length;s=0}return s}static collides(t,e,s){for(const i of e){if(this.getPointDistance(i,s,t)<0)return!1}return!0}static getPointDistance(t,e,s){const i=t.normal;for(const t of this.dimensions){const r=i[t]>=0!==e;this.tempPoint[t]=r?s.max[t]:s.min[t]}return t.distanceToPoint(this.tempPoint)}}at(bc,"tempPoint",new $t),at(bc,"dimensions",["x","y","z"]);class Pc{static transform(t,e,s=new Ti){for(let i=0;i80*s){o=1/0,h=1/0;let e=-1/0,i=-1/0;for(let n=s;ne&&(e=s),r>i&&(i=r)}c=Math.max(e-o,i-h),c=0!==c?32767/c:0}return Mc(n,a,s,o,h,c,0),a}function xc(t,e,s,i,r){let n;if(r===function(t,e,s,i){let r=0;for(let n=e,a=s-i;n0)for(let r=e;r=e;r-=i)n=tl(r/i|0,t[r],t[r+1],n);return n&&Kc(n,n.next)&&(el(n),n=n.next),n}function _c(t,e){if(!t)return t;e||(e=t);let s,i=t;do{if(s=!1,i.steiner||!Kc(i,i.next)&&0!==Xc(i.prev,i,i.next))i=i.next;else{if(el(i),i=e=i.prev,i===i.next)break;s=!0}}while(s||i!==e);return e}function Mc(t,e,s,i,r,n,a){if(!t)return;!a&&n&&function(t,e,s,i){let r=t;do{0===r.z&&(r.z=Wc(r.x,r.y,e,s,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,s=1;do{let i,r=t;t=null;let n=null;for(e=0;r;){e++;let a=r,o=0;for(let t=0;t0||h>0&&a;)0!==o&&(0===h||!a||r.z<=a.z)?(i=r,r=r.nextZ,o--):(i=a,a=a.nextZ,h--),n?n.nextZ=i:t=i,i.prevZ=n,n=i;r=a}n.nextZ=null,s*=2}while(e>1)}(r)}(t,i,r,n);let o=t;for(;t.prev!==t.next;){const h=t.prev,c=t.next;if(n?Uc(t,i,r,n):Fc(t))e.push(h.i,t.i,c.i),el(t),t=c.next,o=c.next;else if((t=c)===o){a?1===a?Mc(t=wc(_c(t),e),e,s,i,r,n,2):2===a&&Gc(t,e,s,i,r,n):Mc(_c(t),e,s,i,r,n,1);break}}}function Fc(t){const e=t.prev,s=t,i=t.next;if(Xc(e,s,i)>=0)return!1;const r=e.x,n=s.x,a=i.x,o=e.y,h=s.y,c=i.y,l=Math.min(r,n,a),p=Math.min(o,h,c),u=Math.max(r,n,a),E=Math.max(o,h,c);let I=i.next;for(;I!==e;){if(I.x>=l&&I.x<=u&&I.y>=p&&I.y<=E&&zc(r,o,n,h,a,c,I.x,I.y)&&Xc(I.prev,I,I.next)>=0)return!1;I=I.next}return!0}function Uc(t,e,s,i){const r=t.prev,n=t,a=t.next;if(Xc(r,n,a)>=0)return!1;const o=r.x,h=n.x,c=a.x,l=r.y,p=n.y,u=a.y,E=Math.min(o,h,c),I=Math.min(l,p,u),y=Math.max(o,h,c),T=Math.max(l,p,u),d=Wc(E,I,e,s,i),N=Wc(y,T,e,s,i);let R=t.prevZ,f=t.nextZ;for(;R&&R.z>=d&&f&&f.z<=N;){if(R.x>=E&&R.x<=y&&R.y>=I&&R.y<=T&&R!==r&&R!==a&&zc(o,l,h,p,c,u,R.x,R.y)&&Xc(R.prev,R,R.next)>=0)return!1;if(R=R.prevZ,f.x>=E&&f.x<=y&&f.y>=I&&f.y<=T&&f!==r&&f!==a&&zc(o,l,h,p,c,u,f.x,f.y)&&Xc(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;R&&R.z>=d;){if(R.x>=E&&R.x<=y&&R.y>=I&&R.y<=T&&R!==r&&R!==a&&zc(o,l,h,p,c,u,R.x,R.y)&&Xc(R.prev,R,R.next)>=0)return!1;R=R.prevZ}for(;f&&f.z<=N;){if(f.x>=E&&f.x<=y&&f.y>=I&&f.y<=T&&f!==r&&f!==a&&zc(o,l,h,p,c,u,f.x,f.y)&&Xc(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function wc(t,e){let s=t;do{const i=s.prev,r=s.next.next;!Kc(i,r)&&Zc(i,s,s.next,r)&&Jc(i,r)&&Jc(r,i)&&(e.push(i.i,s.i,r.i),el(s),el(s.next),s=t=r),s=s.next}while(s!==t);return _c(s)}function Gc(t,e,s,i,r,n){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&kc(a,t)){let o=$c(a,t);return a=_c(a,a.next),o=_c(o,o.next),Mc(a,e,s,i,r,n,0),void Mc(o,e,s,i,r,n,0)}t=t.next}a=a.next}while(a!==t)}function Hc(t,e){let s=t.x-e.x;if(0===s&&(s=t.y-e.y,0===s)){s=(t.next.y-t.y)/(t.next.x-t.x)-(e.next.y-e.y)/(e.next.x-e.x)}return s}function Bc(t,e){const s=function(t,e){let s=e;const i=t.x,r=t.y;let n,a=-1/0;if(Kc(t,s))return s;do{if(Kc(t,s.next))return s.next;if(r<=s.y&&r>=s.next.y&&s.next.y!==s.y){const t=s.x+(r-s.y)*(s.next.x-s.x)/(s.next.y-s.y);if(t<=i&&t>a&&(a=t,n=s.x=s.x&&s.x>=h&&i!==s.x&&Yc(rn.x||s.x===n.x&&Vc(n,s)))&&(n=s,l=e)}s=s.next}while(s!==o);return n}(t,e);if(!s)return e;const i=$c(s,t);return _c(i,i.next),_c(s,s.next)}function Vc(t,e){return Xc(t.prev,t,e.prev)<0&&Xc(e.next,t,t.next)<0}function Wc(t,e,s,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-s)*r|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-i)*r|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function jc(t){let e=t,s=t;do{(e.x=(t-a)*(n-o)&&(t-a)*(i-o)>=(s-a)*(e-o)&&(s-a)*(n-o)>=(r-a)*(i-o)}function zc(t,e,s,i,r,n,a,o){return!(t===a&&e===o)&&Yc(t,e,s,i,r,n,a,o)}function kc(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&Zc(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1}(t,e)&&(Jc(t,e)&&Jc(e,t)&&function(t,e){let s=t,i=!1;const r=(t.x+e.x)/2,n=(t.y+e.y)/2;do{s.y>n!=s.next.y>n&&s.next.y!==s.y&&r<(s.next.x-s.x)*(n-s.y)/(s.next.y-s.y)+s.x&&(i=!i),s=s.next}while(s!==t);return i}(t,e)&&(Xc(t.prev,t,e.prev)||Xc(t,e.prev,e))||Kc(t,e)&&Xc(t.prev,t,t.next)>0&&Xc(e.prev,e,e.next)>0)}function Xc(t,e,s){return(e.y-t.y)*(s.x-e.x)-(e.x-t.x)*(s.y-e.y)}function Kc(t,e){return t.x===e.x&&t.y===e.y}function Zc(t,e,s,i){const r=Qc(Xc(t,e,s)),n=Qc(Xc(t,e,i)),a=Qc(Xc(s,i,t)),o=Qc(Xc(s,i,e));return r!==n&&a!==o||(!(0!==r||!qc(t,s,e))||(!(0!==n||!qc(t,i,e))||(!(0!==a||!qc(s,t,i))||!(0!==o||!qc(s,e,i)))))}function qc(t,e,s){return e.x<=Math.max(t.x,s.x)&&e.x>=Math.min(t.x,s.x)&&e.y<=Math.max(t.y,s.y)&&e.y>=Math.min(t.y,s.y)}function Qc(t){return t>0?1:t<0?-1:0}function Jc(t,e){return Xc(t.prev,t,t.next)<0?Xc(t,e,t.next)>=0&&Xc(t,t.prev,e)>=0:Xc(t,e,t.prev)<0||Xc(t,t.next,e)<0}function $c(t,e){const s=sl(t.i,t.x,t.y),i=sl(e.i,e.x,e.y),r=t.next,n=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,i.next=s,s.prev=i,n.next=i,i.prev=n,i}function tl(t,e,s,i){const r=sl(t,e,s);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function el(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function sl(t,e,s){return{i:t,x:e,y:s,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}class il{constructor(){at(this,"_inverseMatrix",new be),at(this,"_localPlane",new Ei),at(this,"_tempLine",new Ri),at(this,"_tempVector",new $t),at(this,"_plane"),at(this,"_plane2DCoordinateSystem",new be),at(this,"_precission",1e4)}get plane(){if(!this._plane)throw new Error("Fragments: Plane not set");return this._plane}set plane(t){this._plane=t}createEdges(t){const{meshes:e,posAttr:s}=t;let i=0;s.array.fill(0);const r=[];let n=0;const a=new Js;for(const t of e)if(t.geometry){if(t.geometry.boundsTree||t.geometry.computeBoundsTree(),!t.geometry.boundsTree)throw new Error("Fragments: Bounds tree not found for edges generation.");if(t instanceof ci){if(0===t.count)continue;const e=t;for(let o=0;o.99)s=new $t(1,0,0),i=new $t(0,1,0);else if(Math.abs(t.x)>.99)s=new $t(0,1,0),i=new $t(0,0,1);else if(Math.abs(t.y)>.99)s=new $t(1,0,0),i=new $t(0,0,1);else{const e=Math.abs(t.x)<.5?new $t(1,0,0):new $t(0,1,0);s=new $t,s.crossVectors(e,t).normalize(),i=new $t,i.crossVectors(t,s).normalize()}this._plane2DCoordinateSystem.fromArray([s.x,s.y,s.z,0,i.x,i.y,i.z,0,t.x,t.y,t.z,0,e.x,e.y,e.z,1]),this._plane2DCoordinateSystem.invert()}shapecast(t,e,s){return t.geometry.boundsTree.shapecast({intersectsBounds:t=>this._localPlane.intersectsBox(t),intersectsTriangle:i=>{let r=0;if(this._tempLine.start.copy(i.a),this._tempLine.end.copy(i.b),this._localPlane.intersectLine(this._tempLine,this._tempVector)){const i=this._tempVector.applyMatrix4(t.matrixWorld);e.setXYZ(s,i.x,i.y,i.z),r++,s++}if(this._tempLine.start.copy(i.b),this._tempLine.end.copy(i.c),this._localPlane.intersectLine(this._tempLine,this._tempVector)){const i=this._tempVector.applyMatrix4(t.matrixWorld);e.setXYZ(s,i.x,i.y,i.z),r++,s++}if(this._tempLine.start.copy(i.c),this._tempLine.end.copy(i.a),this._localPlane.intersectLine(this._tempLine,this._tempVector)){const i=this._tempVector.applyMatrix4(t.matrixWorld);e.setXYZ(s,i.x,i.y,i.z),r++,s++}2!==r&&(s-=r)}}),s}}class rl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsAttribute(t,e){return(e||new rl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAttribute(t,e){return t.setPosition(t.position()+4),(e||new rl).__init(t.readInt32(t.position())+t.position(),t)}data(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}dataLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAttribute(t){t.startObject(1)}static addData(t,e){t.addFieldOffset(0,e,0)}static createDataVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startDataVector(t,e){t.startVector(4,e,4)}static endAttribute(t){const e=t.endObject();return t.requiredField(e,4),e}static createAttribute(t,e){return rl.startAttribute(t),rl.addData(t,e),rl.endAttribute(t)}}class nl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}x(){return this.bb.readFloat32(this.bb_pos)}mutate_x(t){return this.bb.writeFloat32(this.bb_pos+0,t),!0}y(){return this.bb.readFloat32(this.bb_pos+4)}mutate_y(t){return this.bb.writeFloat32(this.bb_pos+4,t),!0}z(){return this.bb.readFloat32(this.bb_pos+8)}mutate_z(t){return this.bb.writeFloat32(this.bb_pos+8,t),!0}static sizeOf(){return 12}static createFloatVector(t,e,s,i){return t.prep(4,12),t.writeFloat32(i),t.writeFloat32(s),t.writeFloat32(e),t.offset()}}class al{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}aperture(){return this.bb.readFloat32(this.bb_pos)}mutate_aperture(t){return this.bb.writeFloat32(this.bb_pos+0,t),!0}position(t){return(t||new nl).__init(this.bb_pos+4,this.bb)}radius(){return this.bb.readFloat32(this.bb_pos+16)}mutate_radius(t){return this.bb.writeFloat32(this.bb_pos+16,t),!0}xDirection(t){return(t||new nl).__init(this.bb_pos+20,this.bb)}yDirection(t){return(t||new nl).__init(this.bb_pos+32,this.bb)}static sizeOf(){return 44}static createCircleCurve(t,e,s,i,r,n,a,o,h,c,l,p){return t.prep(4,44),t.prep(4,12),t.writeFloat32(p),t.writeFloat32(l),t.writeFloat32(c),t.prep(4,12),t.writeFloat32(h),t.writeFloat32(o),t.writeFloat32(a),t.writeFloat32(n),t.prep(4,12),t.writeFloat32(r),t.writeFloat32(i),t.writeFloat32(s),t.writeFloat32(e),t.offset()}}class ol{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}p1(t){return(t||new nl).__init(this.bb_pos,this.bb)}p2(t){return(t||new nl).__init(this.bb_pos+12,this.bb)}static sizeOf(){return 24}static createWire(t,e,s,i,r,n,a){return t.prep(4,24),t.prep(4,12),t.writeFloat32(a),t.writeFloat32(n),t.writeFloat32(r),t.prep(4,12),t.writeFloat32(i),t.writeFloat32(s),t.writeFloat32(e),t.offset()}}class hl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsWireSet(t,e){return(e||new hl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWireSet(t,e){return t.setPosition(t.position()+4),(e||new hl).__init(t.readInt32(t.position())+t.position(),t)}ps(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?(e||new nl).__init(this.bb.__vector(this.bb_pos+s)+12*t,this.bb):null}psLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startWireSet(t){t.startObject(1)}static addPs(t,e){t.addFieldOffset(0,e,0)}static startPsVector(t,e){t.startVector(12,e,4)}static endWireSet(t){return t.endObject()}static createWireSet(t,e){return hl.startWireSet(t),hl.addPs(t,e),hl.endWireSet(t)}}class cl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsAxis(t,e){return(e||new cl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAxis(t,e){return t.setPosition(t.position()+4),(e||new cl).__init(t.readInt32(t.position())+t.position(),t)}wires(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?(e||new ol).__init(this.bb.__vector(this.bb_pos+s)+24*t,this.bb):null}wiresLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}order(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}orderLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}orderArray(){const t=this.bb.__offset(this.bb_pos,6);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}parts(t){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readInt8(this.bb.__vector(this.bb_pos+e)+t):0}partsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}partsArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Int8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}wireSets(t,e){const s=this.bb.__offset(this.bb_pos,10);return s?(e||new hl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}wireSetsLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}circleCurves(t,e){const s=this.bb.__offset(this.bb_pos,12);return s?(e||new al).__init(this.bb.__vector(this.bb_pos+s)+44*t,this.bb):null}circleCurvesLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAxis(t){t.startObject(5)}static addWires(t,e){t.addFieldOffset(0,e,0)}static startWiresVector(t,e){t.startVector(24,e,4)}static addOrder(t,e){t.addFieldOffset(1,e,0)}static createOrderVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startOrderVector(t,e){t.startVector(4,e,4)}static addParts(t,e){t.addFieldOffset(2,e,0)}static createPartsVector(t,e){t.startVector(1,e.length,1);for(let s=e.length-1;s>=0;s--)t.addInt8(e[s]);return t.endVector()}static startPartsVector(t,e){t.startVector(1,e,1)}static addWireSets(t,e){t.addFieldOffset(3,e,0)}static createWireSetsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startWireSetsVector(t,e){t.startVector(4,e,4)}static addCircleCurves(t,e){t.addFieldOffset(4,e,0)}static startCircleCurvesVector(t,e){t.startVector(44,e,4)}static endAxis(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),t.requiredField(e,8),t.requiredField(e,10),t.requiredField(e,12),e}static createAxis(t,e,s,i,r,n){return cl.startAxis(t),cl.addWires(t,e),cl.addOrder(t,s),cl.addParts(t,i),cl.addWireSets(t,r),cl.addCircleCurves(t,n),cl.endAxis(t)}}var ll=(t=>(t[t.NONE=0]="NONE",t[t.WIRE=1]="WIRE",t[t.WIRE_SET=2]="WIRE_SET",t[t.CIRCLE_CURVE=3]="CIRCLE_CURVE",t))(ll||{});class pl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBigShellHole(t,e){return(e||new pl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBigShellHole(t,e){return t.setPosition(t.position()+4),(e||new pl).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}profileId(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint16(this.bb_pos+t):0}mutate_profile_id(t){const e=this.bb.__offset(this.bb_pos,6);return 0!==e&&(this.bb.writeUint16(this.bb_pos+e,t),!0)}static startBigShellHole(t){t.startObject(2)}static addIndices(t,e){t.addFieldOffset(0,e,0)}static createIndicesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startIndicesVector(t,e){t.startVector(4,e,4)}static addProfileId(t,e){t.addFieldInt16(1,e,0)}static endBigShellHole(t){const e=t.endObject();return t.requiredField(e,4),e}static createBigShellHole(t,e,s){return pl.startBigShellHole(t),pl.addIndices(t,e),pl.addProfileId(t,s),pl.endBigShellHole(t)}}class ul{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBigShellProfile(t,e){return(e||new ul).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBigShellProfile(t,e){return t.setPosition(t.position()+4),(e||new ul).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startBigShellProfile(t){t.startObject(1)}static addIndices(t,e){t.addFieldOffset(0,e,0)}static createIndicesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startIndicesVector(t,e){t.startVector(4,e,4)}static endBigShellProfile(t){const e=t.endObject();return t.requiredField(e,4),e}static createBigShellProfile(t,e){return ul.startBigShellProfile(t),ul.addIndices(t,e),ul.endBigShellProfile(t)}}class El{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}min(t){return(t||new nl).__init(this.bb_pos,this.bb)}max(t){return(t||new nl).__init(this.bb_pos+12,this.bb)}static sizeOf(){return 24}static createBoundingBox(t,e,s,i,r,n,a){return t.prep(4,24),t.prep(4,12),t.writeFloat32(a),t.writeFloat32(n),t.writeFloat32(r),t.prep(4,12),t.writeFloat32(i),t.writeFloat32(s),t.writeFloat32(e),t.offset()}}class Il{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsCircleExtrusion(t,e){return(e||new Il).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCircleExtrusion(t,e){return t.setPosition(t.position()+4),(e||new Il).__init(t.readInt32(t.position())+t.position(),t)}radius(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}radiusLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}radiusArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}axes(t,e){const s=this.bb.__offset(this.bb_pos,6);return s?(e||new cl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}axesLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startCircleExtrusion(t){t.startObject(2)}static addRadius(t,e){t.addFieldOffset(0,e,0)}static createRadiusVector(t,e){t.startVector(8,e.length,8);for(let s=e.length-1;s>=0;s--)t.addFloat64(e[s]);return t.endVector()}static startRadiusVector(t,e){t.startVector(8,e,8)}static addAxes(t,e){t.addFieldOffset(1,e,0)}static createAxesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startAxesVector(t,e){t.startVector(4,e,4)}static endCircleExtrusion(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),e}static createCircleExtrusion(t,e,s){return Il.startCircleExtrusion(t),Il.addRadius(t,e),Il.addAxes(t,s),Il.endCircleExtrusion(t)}}class yl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}x(){return this.bb.readFloat64(this.bb_pos)}mutate_x(t){return this.bb.writeFloat64(this.bb_pos+0,t),!0}y(){return this.bb.readFloat64(this.bb_pos+8)}mutate_y(t){return this.bb.writeFloat64(this.bb_pos+8,t),!0}z(){return this.bb.readFloat64(this.bb_pos+16)}mutate_z(t){return this.bb.writeFloat64(this.bb_pos+16,t),!0}static sizeOf(){return 24}static createDoubleVector(t,e,s,i){return t.prep(8,24),t.writeFloat64(i),t.writeFloat64(s),t.writeFloat64(e),t.offset()}}class Tl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}r(){return this.bb.readUint8(this.bb_pos)}mutate_r(t){return this.bb.writeUint8(this.bb_pos+0,t),!0}g(){return this.bb.readUint8(this.bb_pos+1)}mutate_g(t){return this.bb.writeUint8(this.bb_pos+1,t),!0}b(){return this.bb.readUint8(this.bb_pos+2)}mutate_b(t){return this.bb.writeUint8(this.bb_pos+2,t),!0}a(){return this.bb.readUint8(this.bb_pos+3)}mutate_a(t){return this.bb.writeUint8(this.bb_pos+3,t),!0}renderedFaces(){return this.bb.readInt8(this.bb_pos+4)}mutate_rendered_faces(t){return this.bb.writeInt8(this.bb_pos+4,t),!0}stroke(){return this.bb.readInt8(this.bb_pos+5)}mutate_stroke(t){return this.bb.writeInt8(this.bb_pos+5,t),!0}static sizeOf(){return 6}static createMaterial(t,e,s,i,r,n,a){return t.prep(1,6),t.writeInt8(a),t.writeInt8(n),t.writeInt8(r),t.writeInt8(i),t.writeInt8(s),t.writeInt8(e),t.offset()}}class dl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}id(){return this.bb.readUint32(this.bb_pos)}mutate_id(t){return this.bb.writeUint32(this.bb_pos+0,t),!0}bbox(t){return(t||new El).__init(this.bb_pos+4,this.bb)}representationClass(){return this.bb.readInt8(this.bb_pos+28)}mutate_representation_class(t){return this.bb.writeInt8(this.bb_pos+28,t),!0}static sizeOf(){return 32}static createRepresentation(t,e,s,i,r,n,a,o,h){return t.prep(4,32),t.pad(3),t.writeInt8(h),t.prep(4,24),t.prep(4,12),t.writeFloat32(o),t.writeFloat32(a),t.writeFloat32(n),t.prep(4,12),t.writeFloat32(r),t.writeFloat32(i),t.writeFloat32(s),t.writeInt32(e),t.offset()}}class Nl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}item(){return this.bb.readUint32(this.bb_pos)}mutate_item(t){return this.bb.writeUint32(this.bb_pos+0,t),!0}material(){return this.bb.readUint32(this.bb_pos+4)}mutate_material(t){return this.bb.writeUint32(this.bb_pos+4,t),!0}representation(){return this.bb.readUint32(this.bb_pos+8)}mutate_representation(t){return this.bb.writeUint32(this.bb_pos+8,t),!0}localTransform(){return this.bb.readUint32(this.bb_pos+12)}mutate_local_transform(t){return this.bb.writeUint32(this.bb_pos+12,t),!0}static sizeOf(){return 16}static createSample(t,e,s,i,r){return t.prep(4,16),t.writeInt32(r),t.writeInt32(i),t.writeInt32(s),t.writeInt32(e),t.offset()}}class Rl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsShellHole(t,e){return(e||new Rl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsShellHole(t,e){return t.setPosition(t.position()+4),(e||new Rl).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint16(this.bb.__vector(this.bb_pos+e)+2*t):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}profileId(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint16(this.bb_pos+t):0}mutate_profile_id(t){const e=this.bb.__offset(this.bb_pos,6);return 0!==e&&(this.bb.writeUint16(this.bb_pos+e,t),!0)}static startShellHole(t){t.startObject(2)}static addIndices(t,e){t.addFieldOffset(0,e,0)}static createIndicesVector(t,e){t.startVector(2,e.length,2);for(let s=e.length-1;s>=0;s--)t.addInt16(e[s]);return t.endVector()}static startIndicesVector(t,e){t.startVector(2,e,2)}static addProfileId(t,e){t.addFieldInt16(1,e,0)}static endShellHole(t){const e=t.endObject();return t.requiredField(e,4),e}static createShellHole(t,e,s){return Rl.startShellHole(t),Rl.addIndices(t,e),Rl.addProfileId(t,s),Rl.endShellHole(t)}}class fl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsShellProfile(t,e){return(e||new fl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsShellProfile(t,e){return t.setPosition(t.position()+4),(e||new fl).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint16(this.bb.__vector(this.bb_pos+e)+2*t):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startShellProfile(t){t.startObject(1)}static addIndices(t,e){t.addFieldOffset(0,e,0)}static createIndicesVector(t,e){t.startVector(2,e.length,2);for(let s=e.length-1;s>=0;s--)t.addInt16(e[s]);return t.endVector()}static startIndicesVector(t,e){t.startVector(2,e,2)}static endShellProfile(t){const e=t.endObject();return t.requiredField(e,4),e}static createShellProfile(t,e){return fl.startShellProfile(t),fl.addIndices(t,e),fl.endShellProfile(t)}}var Ol=(t=>(t[t.NONE=0]="NONE",t[t.BIG=1]="BIG",t))(Ol||{});class Dl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsShell(t,e){return(e||new Dl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsShell(t,e){return t.setPosition(t.position()+4),(e||new Dl).__init(t.readInt32(t.position())+t.position(),t)}profiles(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?(e||new fl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}profilesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}holes(t,e){const s=this.bb.__offset(this.bb_pos,6);return s?(e||new Rl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}holesLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}points(t,e){const s=this.bb.__offset(this.bb_pos,8);return s?(e||new nl).__init(this.bb.__vector(this.bb_pos+s)+12*t,this.bb):null}pointsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}bigProfiles(t,e){const s=this.bb.__offset(this.bb_pos,10);return s?(e||new ul).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}bigProfilesLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}bigHoles(t,e){const s=this.bb.__offset(this.bb_pos,12);return s?(e||new pl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}bigHolesLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt8(this.bb_pos+t):Ol.NONE}mutate_type(t){const e=this.bb.__offset(this.bb_pos,14);return 0!==e&&(this.bb.writeInt8(this.bb_pos+e,t),!0)}profilesFaceIds(t){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.readUint16(this.bb.__vector(this.bb_pos+e)+2*t):0}profilesFaceIdsLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}profilesFaceIdsArray(){const t=this.bb.__offset(this.bb_pos,16);return t?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startShell(t){t.startObject(7)}static addProfiles(t,e){t.addFieldOffset(0,e,0)}static createProfilesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startProfilesVector(t,e){t.startVector(4,e,4)}static addHoles(t,e){t.addFieldOffset(1,e,0)}static createHolesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startHolesVector(t,e){t.startVector(4,e,4)}static addPoints(t,e){t.addFieldOffset(2,e,0)}static startPointsVector(t,e){t.startVector(12,e,4)}static addBigProfiles(t,e){t.addFieldOffset(3,e,0)}static createBigProfilesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startBigProfilesVector(t,e){t.startVector(4,e,4)}static addBigHoles(t,e){t.addFieldOffset(4,e,0)}static createBigHolesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startBigHolesVector(t,e){t.startVector(4,e,4)}static addType(t,e){t.addFieldInt8(5,e,Ol.NONE)}static addProfilesFaceIds(t,e){t.addFieldOffset(6,e,0)}static createProfilesFaceIdsVector(t,e){t.startVector(2,e.length,2);for(let s=e.length-1;s>=0;s--)t.addInt16(e[s]);return t.endVector()}static startProfilesFaceIdsVector(t,e){t.startVector(2,e,2)}static endShell(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),t.requiredField(e,8),t.requiredField(e,10),t.requiredField(e,12),t.requiredField(e,16),e}static createShell(t,e,s,i,r,n,a,o){return Dl.startShell(t),Dl.addProfiles(t,e),Dl.addHoles(t,s),Dl.addPoints(t,i),Dl.addBigProfiles(t,r),Dl.addBigHoles(t,n),Dl.addType(t,a),Dl.addProfilesFaceIds(t,o),Dl.endShell(t)}}class ml{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}position(t){return(t||new yl).__init(this.bb_pos,this.bb)}xDirection(t){return(t||new nl).__init(this.bb_pos+24,this.bb)}yDirection(t){return(t||new nl).__init(this.bb_pos+36,this.bb)}static sizeOf(){return 48}static createTransform(t,e,s,i,r,n,a,o,h,c){return t.prep(8,48),t.prep(4,12),t.writeFloat32(c),t.writeFloat32(h),t.writeFloat32(o),t.prep(4,12),t.writeFloat32(a),t.writeFloat32(n),t.writeFloat32(r),t.prep(8,24),t.writeFloat64(i),t.writeFloat64(s),t.writeFloat64(e),t.offset()}}class Al{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMeshes(t,e){return(e||new Al).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMeshes(t,e){return t.setPosition(t.position()+4),(e||new Al).__init(t.readInt32(t.position())+t.position(),t)}coordinates(t){const e=this.bb.__offset(this.bb_pos,4);return e?(t||new ml).__init(this.bb_pos+e,this.bb):null}meshesItems(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}meshesItemsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}meshesItemsArray(){const t=this.bb.__offset(this.bb_pos,6);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}samples(t,e){const s=this.bb.__offset(this.bb_pos,8);return s?(e||new Nl).__init(this.bb.__vector(this.bb_pos+s)+16*t,this.bb):null}samplesLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}representations(t,e){const s=this.bb.__offset(this.bb_pos,10);return s?(e||new dl).__init(this.bb.__vector(this.bb_pos+s)+32*t,this.bb):null}representationsLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}materials(t,e){const s=this.bb.__offset(this.bb_pos,12);return s?(e||new Tl).__init(this.bb.__vector(this.bb_pos+s)+6*t,this.bb):null}materialsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}circleExtrusions(t,e){const s=this.bb.__offset(this.bb_pos,14);return s?(e||new Il).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}circleExtrusionsLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}shells(t,e){const s=this.bb.__offset(this.bb_pos,16);return s?(e||new Dl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}shellsLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}localTransforms(t,e){const s=this.bb.__offset(this.bb_pos,18);return s?(e||new ml).__init(this.bb.__vector(this.bb_pos+s)+48*t,this.bb):null}localTransformsLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}globalTransforms(t,e){const s=this.bb.__offset(this.bb_pos,20);return s?(e||new ml).__init(this.bb.__vector(this.bb_pos+s)+48*t,this.bb):null}globalTransformsLength(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__vector_len(this.bb_pos+t):0}materialIds(t){const e=this.bb.__offset(this.bb_pos,22);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}materialIdsLength(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__vector_len(this.bb_pos+t):0}materialIdsArray(){const t=this.bb.__offset(this.bb_pos,22);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}representationIds(t){const e=this.bb.__offset(this.bb_pos,24);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}representationIdsLength(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__vector_len(this.bb_pos+t):0}representationIdsArray(){const t=this.bb.__offset(this.bb_pos,24);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}sampleIds(t){const e=this.bb.__offset(this.bb_pos,26);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}sampleIdsLength(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.__vector_len(this.bb_pos+t):0}sampleIdsArray(){const t=this.bb.__offset(this.bb_pos,26);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}localTransformIds(t){const e=this.bb.__offset(this.bb_pos,28);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}localTransformIdsLength(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__vector_len(this.bb_pos+t):0}localTransformIdsArray(){const t=this.bb.__offset(this.bb_pos,28);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}globalTransformIds(t){const e=this.bb.__offset(this.bb_pos,30);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}globalTransformIdsLength(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.__vector_len(this.bb_pos+t):0}globalTransformIdsArray(){const t=this.bb.__offset(this.bb_pos,30);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startMeshes(t){t.startObject(14)}static addCoordinates(t,e){t.addFieldStruct(0,e,0)}static addMeshesItems(t,e){t.addFieldOffset(1,e,0)}static createMeshesItemsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startMeshesItemsVector(t,e){t.startVector(4,e,4)}static addSamples(t,e){t.addFieldOffset(2,e,0)}static startSamplesVector(t,e){t.startVector(16,e,4)}static addRepresentations(t,e){t.addFieldOffset(3,e,0)}static startRepresentationsVector(t,e){t.startVector(32,e,4)}static addMaterials(t,e){t.addFieldOffset(4,e,0)}static startMaterialsVector(t,e){t.startVector(6,e,1)}static addCircleExtrusions(t,e){t.addFieldOffset(5,e,0)}static createCircleExtrusionsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startCircleExtrusionsVector(t,e){t.startVector(4,e,4)}static addShells(t,e){t.addFieldOffset(6,e,0)}static createShellsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startShellsVector(t,e){t.startVector(4,e,4)}static addLocalTransforms(t,e){t.addFieldOffset(7,e,0)}static startLocalTransformsVector(t,e){t.startVector(48,e,8)}static addGlobalTransforms(t,e){t.addFieldOffset(8,e,0)}static startGlobalTransformsVector(t,e){t.startVector(48,e,8)}static addMaterialIds(t,e){t.addFieldOffset(9,e,0)}static createMaterialIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startMaterialIdsVector(t,e){t.startVector(4,e,4)}static addRepresentationIds(t,e){t.addFieldOffset(10,e,0)}static createRepresentationIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startRepresentationIdsVector(t,e){t.startVector(4,e,4)}static addSampleIds(t,e){t.addFieldOffset(11,e,0)}static createSampleIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startSampleIdsVector(t,e){t.startVector(4,e,4)}static addLocalTransformIds(t,e){t.addFieldOffset(12,e,0)}static createLocalTransformIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startLocalTransformIdsVector(t,e){t.startVector(4,e,4)}static addGlobalTransformIds(t,e){t.addFieldOffset(13,e,0)}static createGlobalTransformIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startGlobalTransformIdsVector(t,e){t.startVector(4,e,4)}static endMeshes(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),t.requiredField(e,8),t.requiredField(e,10),t.requiredField(e,12),t.requiredField(e,14),t.requiredField(e,16),t.requiredField(e,18),t.requiredField(e,20),e}static createMeshes(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){return Al.startMeshes(t),Al.addCoordinates(t,e),Al.addMeshesItems(t,s),Al.addSamples(t,i),Al.addRepresentations(t,r),Al.addMaterials(t,n),Al.addCircleExtrusions(t,a),Al.addShells(t,o),Al.addLocalTransforms(t,h),Al.addGlobalTransforms(t,c),Al.addMaterialIds(t,l),Al.addRepresentationIds(t,p),Al.addSampleIds(t,u),Al.addLocalTransformIds(t,E),Al.addGlobalTransformIds(t,I),Al.endMeshes(t)}}class Sl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsRelation(t,e){return(e||new Sl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRelation(t,e){return t.setPosition(t.position()+4),(e||new Sl).__init(t.readInt32(t.position())+t.position(),t)}data(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}dataLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startRelation(t){t.startObject(1)}static addData(t,e){t.addFieldOffset(0,e,0)}static createDataVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startDataVector(t,e){t.startVector(4,e,4)}static endRelation(t){const e=t.endObject();return t.requiredField(e,4),e}static createRelation(t,e){return Sl.startRelation(t),Sl.addData(t,e),Sl.endRelation(t)}}class Cl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSpatialStructure(t,e){return(e||new Cl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSpatialStructure(t,e){return t.setPosition(t.position()+4),(e||new Cl).__init(t.readInt32(t.position())+t.position(),t)}localId(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):null}mutate_local_id(t){const e=this.bb.__offset(this.bb_pos,4);return 0!==e&&(this.bb.writeUint32(this.bb_pos+e,t),!0)}category(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}children(t,e){const s=this.bb.__offset(this.bb_pos,8);return s?(e||new Cl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}childrenLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSpatialStructure(t){t.startObject(3)}static addLocalId(t,e){t.addFieldInt32(0,e,null)}static addCategory(t,e){t.addFieldOffset(1,e,0)}static addChildren(t,e){t.addFieldOffset(2,e,0)}static createChildrenVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startChildrenVector(t,e){t.startVector(4,e,4)}static endSpatialStructure(t){return t.endObject()}static createSpatialStructure(t,e,s,i){return Cl.startSpatialStructure(t),null!==e&&Cl.addLocalId(t,e),Cl.addCategory(t,s),Cl.addChildren(t,i),Cl.endSpatialStructure(t)}}class vl{constructor(){at(this,"bb",null),at(this,"bb_pos",0)}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsModel(t,e){return(e||new vl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsModel(t,e){return t.setPosition(t.position()+4),(e||new vl).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("0001")}metadata(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}guids(t,e){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}guidsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}guidsItems(t){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}guidsItemsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}guidsItemsArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}maxLocalId(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readUint32(this.bb_pos+t):0}mutate_max_local_id(t){const e=this.bb.__offset(this.bb_pos,10);return 0!==e&&(this.bb.writeUint32(this.bb_pos+e,t),!0)}localIds(t){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}localIdsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}localIdsArray(){const t=this.bb.__offset(this.bb_pos,12);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}categories(t,e){const s=this.bb.__offset(this.bb_pos,14);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}categoriesLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}meshes(t){const e=this.bb.__offset(this.bb_pos,16);return e?(t||new Al).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}attributes(t,e){const s=this.bb.__offset(this.bb_pos,18);return s?(e||new rl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}attributesLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}relations(t,e){const s=this.bb.__offset(this.bb_pos,20);return s?(e||new Sl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}relationsLength(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__vector_len(this.bb_pos+t):0}relationsItems(t){const e=this.bb.__offset(this.bb_pos,22);return e?this.bb.readInt32(this.bb.__vector(this.bb_pos+e)+4*t):0}relationsItemsLength(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__vector_len(this.bb_pos+t):0}relationsItemsArray(){const t=this.bb.__offset(this.bb_pos,22);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}guid(t){const e=this.bb.__offset(this.bb_pos,24);return e?this.bb.__string(this.bb_pos+e,t):null}spatialStructure(t){const e=this.bb.__offset(this.bb_pos,26);return e?(t||new Cl).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}uniqueAttributes(t,e){const s=this.bb.__offset(this.bb_pos,28);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}uniqueAttributesLength(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__vector_len(this.bb_pos+t):0}relationNames(t,e){const s=this.bb.__offset(this.bb_pos,30);return s?this.bb.__string(this.bb.__vector(this.bb_pos+s)+4*t,e):null}relationNamesLength(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.__vector_len(this.bb_pos+t):0}static startModel(t){t.startObject(14)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addGuids(t,e){t.addFieldOffset(1,e,0)}static createGuidsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startGuidsVector(t,e){t.startVector(4,e,4)}static addGuidsItems(t,e){t.addFieldOffset(2,e,0)}static createGuidsItemsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startGuidsItemsVector(t,e){t.startVector(4,e,4)}static addMaxLocalId(t,e){t.addFieldInt32(3,e,0)}static addLocalIds(t,e){t.addFieldOffset(4,e,0)}static createLocalIdsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startLocalIdsVector(t,e){t.startVector(4,e,4)}static addCategories(t,e){t.addFieldOffset(5,e,0)}static createCategoriesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startCategoriesVector(t,e){t.startVector(4,e,4)}static addMeshes(t,e){t.addFieldOffset(6,e,0)}static addAttributes(t,e){t.addFieldOffset(7,e,0)}static createAttributesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startAttributesVector(t,e){t.startVector(4,e,4)}static addRelations(t,e){t.addFieldOffset(8,e,0)}static createRelationsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startRelationsVector(t,e){t.startVector(4,e,4)}static addRelationsItems(t,e){t.addFieldOffset(9,e,0)}static createRelationsItemsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addInt32(e[s]);return t.endVector()}static startRelationsItemsVector(t,e){t.startVector(4,e,4)}static addGuid(t,e){t.addFieldOffset(10,e,0)}static addSpatialStructure(t,e){t.addFieldOffset(11,e,0)}static addUniqueAttributes(t,e){t.addFieldOffset(12,e,0)}static createUniqueAttributesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startUniqueAttributesVector(t,e){t.startVector(4,e,4)}static addRelationNames(t,e){t.addFieldOffset(13,e,0)}static createRelationNamesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startRelationNamesVector(t,e){t.startVector(4,e,4)}static endModel(t){const e=t.endObject();return t.requiredField(e,6),t.requiredField(e,8),t.requiredField(e,12),t.requiredField(e,14),t.requiredField(e,16),t.requiredField(e,24),e}static finishModelBuffer(t,e){t.finish(e,"0001")}static finishSizePrefixedModelBuffer(t,e){t.finish(e,"0001",!0)}}var Ll=(t=>(t[t.ONE=0]="ONE",t[t.TWO=1]="TWO",t))(Ll||{}),bl=(t=>(t[t.NONE=0]="NONE",t[t.SHELL=1]="SHELL",t[t.CIRCLE_EXTRUSION=2]="CIRCLE_EXTRUSION",t))(bl||{});class Pl{constructor(){at(this,"int"),at(this,"float"),at(this,"buffer"),at(this,"s1",4),at(this,"s2",8);const{intBuffer:t,floatBuffer:e,buffer:s}=this.newBuffers();this.int=t,this.float=e,this.buffer=s}newBuffers(){const t=new Int32Array(1),e=t.buffer;return{intBuffer:t,floatBuffer:new Float32Array(e),buffer:new Uint8Array(e)}}}class gl{static check(t){const e=Number.isInteger(t),s=tthis._min;return e&&s&&i}}at(gl,"_max",2147483647),at(gl,"_min",-2147483648);const xl=class t{constructor(){at(this,"_core",new Pl),at(this,"_handlers"),at(this,"_result",-1),at(this,"handleObject",(t=>{const e=Object.keys(t);for(const s of e)t.hasOwnProperty(s)&&this.compute(t[s])})),at(this,"handleString",(t=>{const e=t.length;for(let s=0;s{this._core.int[0]=t?1:0,this.update()})),at(this,"handleNumber",(t=>{(gl.check(t)?this._core.int:this._core.float)[0]=t,this.update()})),this._handlers=this.newHandlers()}get value(){return~this._result}fromMaterialData(t){const{modelId:e,objectClass:s,currentLod:i,templateId:r,...n}=t;this.reset(),this.compute(e),this.compute(s),this.compute(n),this.compute(i),this.compute(void 0!==r)}generate(t){this.reset();for(const e of t)this.compute(e);return this.value}compute(t){return this.getHandler(t)(t),this}reset(){return this._result=-1,this}getHandler(t){const e=typeof t,s=this._handlers[e];if(!s)throw new Error("Fragments: Unsupported input type");return s}newHandlers(){return{number:this.handleNumber,boolean:this.handleBoolean,string:this.handleString,object:this.handleObject}}update(){for(let e=0;e>1^t._polynomial:this._result>>=1}}};at(xl,"_polynomial",2197175160);let _l=xl;const Ml=class t{constructor(t,e){at(this,"_first"),this._first=this.newData(t,e)}static getComplementary(t,e){let s=0;const i=t.position.length;s=this.makeBufferComplementary(i,t,s,e),s!==1/0&&e(s,1/0)}static get(t,e,s,i){const{filtered:r,position:n,size:a}=this.getData(t,s);return this.setAllBufferData(r,e,n,a,i),{position:n,size:a}}fullOf(t){const e=this._first.following,s=this._first.data;return null===e&&s===t}update(t,e){const s=this.getBufferData(t);if(!(s.data===e)){const{a:i,c:r,b:n}=this.newBuffers(t,s,e);this.setupInputData(s,i,r),this.setupUpdateBuffers(i,n,r)}}size(t){let e=0,s=this._first;for(;null!==s;){this.doesFilterPass(t,s)&&e++,s=s.following}return e}static setAllBufferData(t,e,s,i,r){for(let n=0;ns&&i(s,n-s),s=n+a}return s}static setBuffers(t,e,s){t[s]=this._tempData.position;const i=this._tempData.size===1/0;e[s]=i?this._inf:this._tempData.size}add(e,s,i){if(!t._stash.length)return this.newData(s,i,e);const r=t._stash.pop();if(!r)throw new Error("Fragments: No stash found");return r.position=e,r.size=s,r.data=i,r}remove(e){e&&(e.following=null,e.past=null,t._stash.push(e))}static getData(t,e){const s=t.filter(e),i=s.length;return{filtered:s,position:new Uint32Array(i),size:new Uint32Array(i)}}filter(t){const e=[];let s=this._first;for(;null!==s;){this.doesFilterPass(t,s)&&e.push(s),s=s.following}return e}static transform(t,e){const s=this.getTempData(),i=t.position+t.size,r=i===e.length;if(s.position=e[t.position],r)s.size=1/0;else{const t=e[i];s.size=t-s.position}return s}static getBuffers(t,e){const s=t.position[e];let i;return i=t.size[e]===this._inf?1/0:t.size[e],{position:s,size:i}}static getTempData(){return this._tempData?this._tempData:{position:0,size:0}}doesFilterPass(t,e){return!t||t(e.data)}setupUpdateBuffers(t,e,s){this.chainBuffers(t,e,s),this.setupFirstBuffer(t,e),this.setupLastBuffer(s,e),this.setupMiddleBufferStart(e),this.setupMiddleBufferEnd(e)}setupMiddleBufferEnd(t){var e;if((null==(e=t.following)?void 0:e.data)===t.data){if(!t.following)return;const e=t.following.size+t.size,s=t.following.following;t.size=e,this.remove(t.following),t.following=s,t.following&&(t.following.past=t)}}setupFirstBuffer(t,e){t.size||(t.past?t.past.following=e:this._first=e,e.past=t.past,this.remove(t))}setupMiddleBufferStart(t){var e;if((null==(e=t.past)?void 0:e.data)===t.data){if(!t.past)return;t.size=t.past.size+t.size,t.position=t.past.position;const e=t.past.past;this.remove(t.past),t.past=e,t.past?t.past.following=t:this._first=t}}chainBuffers(t,e,s){t.following=e,e.past=t,e.following=s,s.past=e}setupLastBuffer(t,e){t.size||(t.following&&(t.following.past=e),e.following=t.following,this.remove(t))}newBuffers(t,e,s){const i=t-e.position,r=this.add(e.position,i,e.data),n=this.add(t,1,s),a=e.size-r.size-1;return{a:r,c:this.add(t+1,a,e.data),b:n}}setupInputData(t,e,s){t.past?(t.past.following=e,e.past=t.past):this._first=e,t.following&&(t.following.past=s,s.following=t.following),this.remove(t)}newData(t,e,s=0){return{position:s,size:t,past:null,following:null,data:e}}getBufferData(t){let e=this._first;for(;;){const s=null===e,i=e.position<=t,r=tfi)throw new Error("Fragments: Memory overflow!")}static get(t){return 1<Hl.setBoxX(),y:()=>Hl.setBoxY(),z:()=>Hl.setBoxZ()});let Bl=Hl;class Vl{static getWidth(t){return t.getSize(this._temp.vector),this._temp.vector.x>this._temp.vector.y&&this._temp.vector.set(this._temp.vector.y,this._temp.vector.x,this._temp.vector.z),this._temp.vector.y>this._temp.vector.z&&this._temp.vector.set(this._temp.vector.x,this._temp.vector.z,this._temp.vector.y),this._temp.vector.x>this._temp.vector.y&&this._temp.vector.set(this._temp.vector.y,this._temp.vector.x,this._temp.vector.z),this._temp.vector.y}}at(Vl,"_temp",{vector:new $t});class Wl{static getEarcutDimensions(t){const e=Math.abs(t.x),s=Math.abs(t.y),i=Math.abs(t.z);if(i>e&&i>s){return t.z>0?[0,1]:[1,0]}if(s>e&&s>i){return t.y>0?[2,0]:[0,2]}return t.x>0?[1,2]:[2,1]}}class jl{constructor(t,e){at(this,"meshes"),at(this,"_templateController",new ju),at(this,"_meshIds",new Set),at(this,"_idGenerator",new _l),at(this,"_modelCode"),this.meshes=e,this._modelCode=this.getModelCode(t)}dispose(){ru.delete(this._meshIds)}useMesh(t,e,s){const i=this.meshCode(t,s);ru.lockIn(e),this._templateController.add(i,e)}getMesh(t,e){const s=this.meshCode(t,e);return ru.get(s)??this._templateController.get(s)}saveMesh(t,e,s){Ul.forEach(e,ru.updateMeshMemory);const i=this.meshCode(t,s);ru.add(i,e),this._meshIds.add(i)}meshCode(t,e){const s=[this._modelCode,this.getRepresentation(),e,t];return this._idGenerator.generate(s)}getModelCode(t){return this._idGenerator.generate([t])}}const Yl=32767;var zl=(t=>(t[t.NONE=0]="NONE",t[t.AABB=1]="AABB",t[t.CUSTOM=2]="CUSTOM",t))(zl||{});const kl=class t{static getProfile(t,e,s){return t.type()===Ol.BIG?t.bigProfiles(e,s):t.profiles(e,s)}static getPoints(t){const e=new Float32Array(3*t.pointsLength());for(let s=0;sthis._faceThreshold&&this._tempNormal.add(t)}}static setupNormalBuffer(t){const e=3*t.length;this._normalBuffer.length0,e=this.holePoints>0,s=this.profilePoints>0;return t||e||s}processShell(t){const e=Xl.getProfilesLength(t),s=this.getTempProfile(t);for(let i=0;i2&&(this.triangleAmount+=s-2)}getResult(){const t=this.meshes;return this.meshes=void 0,t}manageMemory(){this.holePoints+this.profilePoints+this.indexCount>fi&&this.setMesh()}updateBuffers(t,e){const s=this.getTempHole(t);this.holePoints+=s.indicesLength(),this.triangleAmount+=s.indicesLength(),e&&(this.triangleAmount+=2)}setMesh(){const t=this.newMesh();this.meshes?Array.isArray(this.meshes)?this.meshes.push(t):this.meshes=[this.meshes,t]:this.meshes=t,this.reset(!1)}getTempProfile(t){return t.type()===Ol.BIG?this._bigShellProfile:this._shellProfile}getTempHole(t){return t.type()===Ol.BIG?this._bigShellHole:this._shellHole}}var Zl=(t=>(t[t.four=4]="four",t[t.three=3]="three",t))(Zl||{});function ql(t,e,s,i,r,n){const a=e&&e.length,o=a?e[0]*s:t.length;let h,c,l,p=Ql(t,0,o,s,!0,i,r);if(p&&p.next!==p.prev){if(a&&(p=function(t,e,s,i,r,n){const a=[];for(let s=0,o=e.length;s80*s){let e=t[i],n=t[r];h=e,c=n;for(let a=s;ae&&(e=s),o>n&&(n=o)}l=Math.max(e-h,n-c),l=0!==l?1/l:0}$l(p,n,s,h,c,l)}}function Ql(t,e,s,i,r,n,a){let o,h,c;if(r===function(t,e,s,i,r,n){let a=0;for(let o=e,h=s-i;o0)for(c=e;c=e;c-=i)o=Np(c,t[c+n],t[c+a],o);return o&&up(o,o.next)&&(h=o.next,Rp(o),o=h),o}function Jl(t,e){if(!t)return t;e||(e=t);let s,i,r=t;do{if(s=!1,r.steiner||!up(r,r.next)&&0!==pp(r.prev,r,r.next))r=r.next;else{if(i=r.prev,Rp(r),r=e=i,r===r.next)break;s=!0}}while(s||r!==e);return e}function $l(t,e,s,i,r,n,a){!a&&n&&function(t,e,s,i){let r=t;do{null===r.z&&(r.z=op(r.x,r.y,e,s,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,s=1;do{let i,r=t;t=null;let n=null;for(e=0;r;){e++;let a=r,o=0;for(let t=0;t0||h>0&&a;)0!==o&&(0===h||!a||r.z<=a.z)?(i=r,r=r.nextZ,o--):(i=a,a=a.nextZ,h--),n?n.nextZ=i:t=i,i.prevZ=n,n=i;r=a}n.nextZ=null,s*=2}while(e>1)}(r)}(t,i,r,n);let o=t;for(;t.prev!==t.next;){const h=t.prev,c=t.next;if(n?ep(t,i,r,n):tp(t))e(h.i/s,t.i/s,c.i/s),Rp(t),t=c.next,o=c.next;else if((t=c)===o){a?1===a?$l(t=sp(Jl(t),e,s),e,s,i,r,n,2):2===a&&ip(t,e,s,i,r,n):$l(Jl(t),e,s,i,r,n,1);break}}}function tp(t){const e=t.prev,s=t,i=t.next;if(pp(e,s,i)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(cp(e.x,e.y,s.x,s.y,i.x,i.y,r.x,r.y)&&pp(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function ep(t,e,s,i){const r=t.prev,n=t,a=t.next;if(pp(r,n,a)>=0)return!1;const o=Math.min(r.x,n.x,a.x),h=Math.min(r.y,n.y,a.y),c=Math.max(r.x,n.x,a.x),l=Math.max(r.y,n.y,a.y),p=op(o,h,e,s,i),u=op(c,l,e,s,i);let E=t.prevZ,I=t.nextZ;for(;E&&E.z>=p&&I&&I.z<=u;){if(E!==t.prev&&E!==t.next&&cp(r.x,r.y,n.x,n.y,a.x,a.y,E.x,E.y)&&pp(E.prev,E,E.next)>=0)return!1;if(E=E.prevZ,I!==t.prev&&I!==t.next&&cp(r.x,r.y,n.x,n.y,a.x,a.y,I.x,I.y)&&pp(I.prev,I,I.next)>=0)return!1;I=I.nextZ}for(;E&&E.z>=p;){if(E!==t.prev&&E!==t.next&&cp(r.x,r.y,n.x,n.y,a.x,a.y,E.x,E.y)&&pp(E.prev,E,E.next)>=0)return!1;E=E.prevZ}for(;I&&I.z<=u;){if(I!==t.prev&&I!==t.next&&cp(r.x,r.y,n.x,n.y,a.x,a.y,I.x,I.y)&&pp(I.prev,I,I.next)>=0)return!1;I=I.nextZ}return!0}function sp(t,e,s){let i=t;do{const r=i.prev,n=i.next.next;!up(r,n)&&Ep(r,i,i.next,n)&&Tp(r,n)&&Tp(n,r)&&(e(r.i/s,i.i/s,n.i/s),Rp(i.next),Rp(i),i=t=n),i=i.next}while(i!==t);return Jl(i)}function ip(t,e,s,i,r,n){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&lp(a,t)){let o=dp(a,t);return a=Jl(a,a.next),o=Jl(o,o.next),$l(a,e,s,i,r,n),void $l(o,e,s,i,r,n)}t=t.next}a=a.next}while(a!==t)}function rp(t,e){return t.x-e.x}function np(t,e){const s=function(t,e){let s=e;const i=t.x,r=t.y;let n,a=-1/0;do{if(r<=s.y&&r>=s.next.y&&s.next.y!==s.y){const t=s.x+(r-s.y)*(s.next.x-s.x)/(s.next.y-s.y);if(t<=i&&t>a){if(a=t,t===i){if(r===s.y)return s;if(r===s.next.y)return s.next}n=s.x=s.x&&s.x>=h&&i!==s.x&&cp(rn.x||s.x===n.x&&ap(n,s)))&&(n=s,l=e)}s=s.next}while(s!==o);return n}(t,e);if(!s)return e;const i=dp(s,t),r=Jl(s,s.next);return Jl(i,i.next),e===e.next||s===e?r:e}function ap(t,e){return pp(t.prev,t,e.prev)<0&&pp(e.next,t,t.next)<0}function op(t,e,s,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-s)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function hp(t){let e=t,s=t;do{(e.x=0&&(t-a)*(i-o)-(s-a)*(e-o)>=0&&(s-a)*(n-o)-(r-a)*(i-o)>=0}function lp(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&Ep(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1}(t,e)&&(Tp(t,e)&&Tp(e,t)&&function(t,e){let s=t,i=!1;const r=(t.x+e.x)/2,n=(t.y+e.y)/2;do{s.y>n!=s.next.y>n&&s.next.y!==s.y&&r<(s.next.x-s.x)*(n-s.y)/(s.next.y-s.y)+s.x&&(i=!i),s=s.next}while(s!==t);return i}(t,e)&&(pp(t.prev,t,e.prev)||pp(t,e.prev,e))||up(t,e)&&pp(t.prev,t,t.next)>0&&pp(e.prev,e,e.next)>0)}function pp(t,e,s){return(e.y-t.y)*(s.x-e.x)-(e.x-t.x)*(s.y-e.y)}function up(t,e){return t.x===e.x&&t.y===e.y}function Ep(t,e,s,i){const r=yp(pp(t,e,s)),n=yp(pp(t,e,i)),a=yp(pp(s,i,t)),o=yp(pp(s,i,e));return r!==n&&a!==o||(!(0!==r||!Ip(t,s,e))||(!(0!==n||!Ip(t,i,e))||(!(0!==a||!Ip(s,t,i))||!(0!==o||!Ip(s,e,i)))))}function Ip(t,e,s){return e.x<=Math.max(t.x,s.x)&&e.x>=Math.min(t.x,s.x)&&e.y<=Math.max(t.y,s.y)&&e.y>=Math.min(t.y,s.y)}function yp(t){return t>0?1:t<0?-1:0}function Tp(t,e){return pp(t.prev,t,t.next)<0?pp(t,e,t.next)>=0&&pp(t,t.prev,e)>=0:pp(t,e,t.prev)<0||pp(t,t.next,e)<0}function dp(t,e){const s=fp(t.i,t.x,t.y),i=fp(e.i,e.x,e.y),r=t.next,n=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,i.next=s,s.prev=i,n.next=i,i.prev=n,i}function Np(t,e,s,i){const r=fp(t,e,s);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Rp(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ),t.next=t,t.prev=t}function fp(t,e,s){return{i:t,x:e,y:s,prev:null,next:null,z:null,prevZ:null,nextZ:null,steiner:!1}}const Op=class t{static create(e,s,i,r,n,a,o,h){const c=e.length,l=o.verticesAmount;t.processBuffers(c,e,n,o,s,i);const p=n.positionBuffer,u=(o.verticesAmount-l)/3;this.processNormals(p,this._tempVec,u,l),this.triangulate(a,r,c,n,o,l),this.setFaceId(l,o,n,h)}static setFaceId(t,e,s,i){const r=t/3,n=e.verticesAmount/3;for(let t=r;t{const a=t.indexBuffer;a[e.indices++]=i+s/3,a[e.indices++]=r+s/3,a[e.indices++]=n+s/3}}static processBuffers(t,e,s,i,r,n){for(let a=0;a0}static getCrossVectors(){this.e.copy(this.b),this.f.copy(this.c),this.g.copy(this.d),this.e.sub(this.a),this.f.sub(this.a),this.g.sub(this.a),this.h.crossVectors(this.e,this.f),this.i.crossVectors(this.f,this.g)}static updateData(t){t.normalsAmount+=this.totalIncrease,t.vertices+=this.vertexIncrease,t.verticesAmount+=this.totalIncrease}static processPoints(t,e){let s=0;const i=t.positionBuffer,r=e.verticesAmount;for(let t=0;t{this.setTileData(t),this.initializeIndices(),this.initializePositions(),this.initializeNormals(),this.initializeFaceIds(),this.initializeSizes(),this._indices++}))}construct(t,e){this.resetConstructData(e),this.getPointsPerWire(t);const s=Xl.getBuffer(t);this.newShellInteriorProfiles(t),this.constructShell(t,s,e),this._tileData=void 0}getIntProfileNormalsAvg(t,e){const s=this.getTempHole(t).indicesArray();this.normalsAvgInterior=Xl.computeNormalsAvg(s,e,this._normals,this._pointsPerProfile)}saveInteriorProfile(t){const e=this.getTempHole(t).profileId();if(this.interiorProfiles.has(e))return this.saveExistingInteriorProfile(e),e;const s=this.getNewIntProfileData();return this.interiorProfiles.set(e,s),e}computeNormalsAvg(t,e,s){if(!this.isShell(t))return;const i=this._normals,r=this._pointsPerProfile;this._normalsAvg=Xl.computeNormalsAvg(e,s,i,r)}isShell(t){return t instanceof Dl}getPointsPerWire(t){this.isShell(t)&&(Xl.getNormalsOfShellProfile(t,this._normals),this._pointsPerProfile=Xl.getPointsShell(t))}getIndices(t,e){const s=this.getTempProfile(t);return Xl.getProfile(t,e,s),s.indicesArray()}resetConstructData(t){this._indices=0,this._tileData=void 0,this.nextBuffer(t),this._normals.length=0}initializeIndices(){const t=this._tileData.indexCount;this._tileData.indexBuffer=new Uint16Array(t)}constructFace4(t,e,s){const i=this._faceIdPerProfile.get(s);Ap.create(t,e,this._normalsAvg,s,this._tileData,this._sizes,i)}initializeSizes(){this._sizes.vertices=0,this._sizes.indices=0,this._sizes.verticesAmount=0,this._sizes.normalsAmount=0,this._sizes.normals=0}getInteriorProfileBuffer(t,e){const s=this.getTempHole(t).indicesLength();if(this.isShell(t))for(let i=0;ifi&&this.nextBuffer(e)}initializeFaceIds(){const t=this._tileData.positionCount;this._tileData.faceIdBuffer=new Uint32Array(t/3)}getNextFaceId(){return 4294967295*Math.random()}newShellInteriorProfiles(t){this.interiorProfiles.clear();const e=Xl.getHolesLength(t),s=this.getTempHole(t);for(let i=0;i0)for(let t=0;t=Math.abs(t.y)){const i=1/Math.sqrt(t.x*t.x+t.z*t.z),r=-t.z*i,n=0,a=t.x*i;e.set(r,n,a);const o=t.y*e.z,h=t.z*e.x-t.x*e.z,c=-t.y*e.x;s.set(o,h,c)}else{const i=1/Math.sqrt(t.y*t.y+t.z*t.z),r=0,n=t.z*i,a=-t.y*i;e.set(r,n,a);const o=t.y*e.z-t.z*e.y,h=-t.x*e.z,c=t.x*e.y;s.set(o,h,c)}e.normalize(),s.normalize()}polygonContains(t,e){let s=!1;this.newOrthoNormalBasis(),this.setPolyContainVec(e,t);let i=this.k.dot(this.i),r=this.k.dot(this.j);for(let n=0;n0!==r>0){(i-l)*-p/(r-p)+l>0&&(s=!s)}i=l,r=p}return s}processNormal(t,e,s){const i=t[e+0],r=t[s+0],n=t[e+1],a=t[s+1],o=t[e+2],h=t[s+2];this.d.x+=(n-a)*(o+h),this.d.y+=(o-h)*(i+r),this.d.z+=(i-r)*(n+a)}getCollidesPlane(t,e,s){const i=3*t[0],r=e[i],n=e[i+1],a=e[i+2];this.a.set(r,n,a),this.computeNormal(e,t),this.tempPlane.setFromNormalAndCoplanarPoint(this.d,this.a);return s.intersectPlane(this.tempPlane,this.b)}setPolyContainVec(t,e){const s=3*t[t.length-1],i=e[s],r=e[s+1],n=e[s+2];this.k.set(i,r,n),this.k.sub(this.b)}getTriangleBuffer(t,e){const s=[],i=[];for(let r=0;rMath.cos(this._minAngle)}getProfile(t,e,s){const i=this._pointsByProfile.get(t),r=this._pointsByProfile.get(e),n=[];for(const t of i)-1!==r.indexOf(t)&&t!==s&&n.push(t);return n}cast(t,e,s,i,r){Xl.point(this._shell,t,this._tempV1),Xl.point(this._shell,e,this._tempV2),this.raycastSegment(s);if(!i.containsPoint(this._tempPoint))return!1;return!this.isInvalidAngle(t,e,r)}saveResult(t){const e=this._tempV1.clone(),s=this._tempV2.clone(),i=this._normals[t],r=this._tempPoint.clone();this._result.push({point:r,normal:i,snappedEdgeP1:e,snappedEdgeP2:s})}getSecondIndex(t,e){const s=t===e-1,i=this.getTempProfile(this._shell);return s?i.indices(0):i.indices(t+1)}raycastSegment(t){t.distanceSqToSegment(this._tempV1,this._tempV2,void 0,this._tempPoint)}getTempProfile(t){return t.type()===Ol.BIG?this._bigShellProfile:this._shellProfile}}class Pp{constructor(t){at(this,"_meshes"),at(this,"_tempVec",new $t),this._meshes=t}pointRaycast(t,e){const s=Xl.getShell(this._meshes,t),i=[];return this.cast(s,e,i),i}cast(t,e,s){const i=t.pointsLength();for(let r=0;rn)return null;const a=2*s,o=Math.sqrt(n-r);return{factorA:(-i+o)/a,factorB:(-i-o)/a}}static computeCircleExtrusionRaycast(t,e){const s=this.computeCircleExtrusionRaycastFactors();if(null===s)return[];const{factorA:i,factorB:r}=s;return this._ceInverseTransform.transpose(),this._ceRaycastPoints=[],this.computeCircleExtrusionRaycastPoints(i,t,e),this.computeCircleExtrusionRaycastPoints(r,t,e),this._ceRaycastPoints}static setupCircleExtrusionRay(t){this._ceInverseTransform.copy(this._ceTransform),this._ceInverseTransform.invert(),this._ceRay.copy(t),this._ceRay.applyMatrix4(this._ceInverseTransform)}static computeCircleExtrusionRaycastPoints(t,e,s){if(!this.checkIfCircleExtrusionClashes(t,e,s))return;this._ceRaycastPoint.applyMatrix4(this._ceTransform);const i=this._ceRaycastPoint.clone();this._ceRaycastPoints.push({point:i})}static setupCircleExtrusionAxes(t,e){this._ceAxisZ.copy(t),this._ceAxisZ.sub(e),this._ceAxisZ.normalize(),this.computeNormal(this._ceAxisZ,this._ceAxisX),this._ceAxisY.crossVectors(this._ceAxisZ,this._ceAxisX)}static computeNormal(t,e){const s=t.dot(this._ceAbsoluteX),i=Math.abs(s)>.9?this._ceAbsoluteZ:this._ceAbsoluteX;e.crossVectors(t,i),e.normalize()}static setupCircleExtrusionRaycastPoint(t){this._ceRaycastPoint.copy(this._ceRay.direction),this._ceRaycastPoint.normalize(),this._ceRaycastPoint.multiplyScalar(t),this._ceRaycastPoint.add(this._ceRay.origin)}static checkIfCircleExtrusionClashes(t,e,s){this.setupCircleExtrusionRaycastPoint(t);const i=e/s,r=this._ceRaycastPoint.z;return r>=0&&r<=i}}at(xp,"_floats",new nl),at(xp,"_wire",new ol),at(xp,"_wireSet",new hl),at(xp,"_circleCurve",new al),at(xp,"_wireP1",new $t),at(xp,"_wireP2",new $t),at(xp,"_circleP1",new $t),at(xp,"_circleP2",new $t),at(xp,"_circleOrigin",new $t),at(xp,"_circleOrientation",new $t),at(xp,"_currentWireSetPoint",new $t),at(xp,"_nextWireSetPoint",new $t),at(xp,"_ceAxisZ",new $t),at(xp,"_ceAxisY",new $t),at(xp,"_ceAxisX",new $t),at(xp,"_ceRaycastPoint",new $t),at(xp,"_ceSize",new $t),at(xp,"_ceAbsoluteX",new $t(0,0,1)),at(xp,"_ceAbsoluteZ",new $t(1,0,0)),at(xp,"_circlePoints",[]),at(xp,"_ceTransform",new be),at(xp,"_ceInverseTransform",new be),at(xp,"_ceRay",new Le),at(xp,"_ceRaycastPoints",[]);const _p=class t{static newPaths(e,s){const i=t.newPathData();return this.fetchCircleCurveData(e,i),this.fetchCircleCurveMids(s,i,e),this.fetchCircleCurveEnds(i,e),this.fetchCircleCurveCuts(i),i.cuts}static getAxisPartSize(e,s,i){const r=e.parts(s),n=e.order(s),a=t.getAxisPartData(r,i,e,n);return t.fetchAxisPartSize(i,a),this._axisPartSize}static vertexLength(e,s=200){const i=Math.round(e*s),r=Math.max(i,t._minSize);return Math.min(r,t._maxSize)}static setPathVertices(t){const e=this.circleCurvePoints,s=!e,i=e&&e.length!==t;if(s||i){this.circleCurvePoints=[];for(let e=0;e=t+e+s}static fetchCircleCurveCuts(t){t.cuts.push(t.first),t.cuts.push(...t.mids),t.cuts.push(t.last)}static fetchCircleCurveData(t,e){const s=t.position();e.center.set(s.x(),s.y(),s.z());const i=t.xDirection();e.axis.set(i.x(),i.y(),i.z());const r=t.yDirection();e.first.set(r.x(),r.y(),r.z())}static newPathData(){return{axis:new $t,cuts:[],center:new $t,last:new $t,first:new $t,mids:[]}}static fetchAxisPartSize(t,e){const s=t-2,i=e.faces*s*3,r=e.links*t*this._wireSize;this._axisPartSize.verticesLength=e.points,this._axisPartSize.indicesLength=e.indices+i+r}};at(_p,"up",new $t(0,0,1)),at(_p,"circleCurves",[]),at(_p,"circleCurvePoints"),at(_p,"temp",{circleExtrusion:new Il,circleCurve:new al,wireSet:new hl,axis:new cl,rotation:new Jt,vector:new $t}),at(_p,"_wireSize",6),at(_p,"_minSize",6),at(_p,"_maxSize",30),at(_p,"_axisPartSize",{verticesLength:0,indicesLength:0}),at(_p,"getAxisPartWireSetData",((t,e,s)=>{const i=_p.newEmptyAxisPartData();t.wireSets(e,_p.temp.wireSet);const r=_p.temp.wireSet.psLength()-1;return i.points=2*r*s,i.indices=_p._wireSize*r*s,i.faces=2*r,i})),at(_p,"getAxisPartWireData",((t,e,s)=>{const i=_p.newEmptyAxisPartData();return i.points=2*s,i.indices=_p._wireSize*s,i.faces=2,i})),at(_p,"getAxisPartCircleCurveData",((t,e,s)=>{const i=_p.newEmptyAxisPartData();t.circleCurves(e,_p.temp.circleCurve);const r=xp.circleCurve3Divisions(_p.temp.circleCurve),n=s*r;i.points=n;const a=s*(r-1),o=_p._wireSize*a;i.indices=o;return i.faces=2,i.links=2,i}));let Mp=_p;class Fp{constructor(){at(this,"_minLinkDistance",1e-8),at(this,"_first",new $t),at(this,"_last",new $t),at(this,"_currentPoint"),at(this,"_currentIndex"),at(this,"_v1",new $t),at(this,"_v2",new $t),at(this,"_v3",new $t),at(this,"_v4",new $t),at(this,"_tempLine",new Ri),at(this,"_total",0),at(this,"_closest",0),at(this,"_result",0)}newTemplate(t,e,s){const i=t.radius(e),r=t.axes(e,Mp.temp.axis),n=Mp.vertexLength(i);let a=s[s.length-1];const o=r.orderLength();for(let t=0;t=s?t+e-i:t+e,o=t+r>=s?t+r-i:t+r,h=n+e>=s+i?n+e-i:n+e,c=n+r>=s+i?n+r-i:n+r,{i3:h,i4:c,i1:a,i2:o}}fetchWirePoints(t){const e=t.p1(),s=t.p2();this._first.set(e.x(),e.y(),e.z()),this._last.set(s.x(),s.y(),s.z())}findLinkedVertex(t,e,s,i,r){for(let n=t;n=t?e-i:e;this.point(a,s,this._v2);const o=e+1>=t?e+1-i:e+1;this.point(o,s,this._v3),this._tempLine.set(this._v2,this._v3),this._tempLine.closestPointToPoint(this._v1,!0,this._v4),this._total+=this._v4.distanceTo(this._v1)}}newPath(t,e,s,i,r){Mp.setPathVertices(r);for(let n=0;n{this.castCurveExtrusion(s,i,t,e)}}castCurveExtrusion(t,e,s,i){const r=xp.raycastCircleExtr(t,e,s,i);for(const t of r)this._results.push(t)}getTraverseCircleCurveEvent(t,e){return(s,i,r)=>{const n=i[0];this.castCurveExtrusion(s,n,t,e);for(let s=0;s{this.cylinderRaycast(s,i,t,e)}))}exclusiveCylinderRaycast(t,e){const s=this._axis,i=this.getCylinderRaycastEvent(t,e);xp.traverseWires(s,i)}processLineRaycast(t,e){const s=this._circleExtrusion.radius(t);this.exclusiveCylinderRaycast(e,s),this.circleCurveRaycast(e,s),this.wireSetRaycast(e,s)}getCylinderRaycastEvent(t,e){return(s,i)=>{this.cylinderRaycast(s,i,t,e)}}processCircleCurveBody(t,e,s){for(let i=0;i{this.cylinderRaycast(s,i[0],t,e),this.processCircleCurveBody(i,t,e);const n=i[i.length-1];this.cylinderRaycast(n,r,t,e)}}fetchCylinderRaycastResult(t,e,s){t.distanceSqToSegment(e,s,void 0,this._wirePoint);const i=this.newResult(e,s);this._found.push(i)}circleCurveRaycast(t,e){const s=xp.circleCurve3Divisions,i=this.getCircleCurveRaycastEvent(t,e);xp.traverseCircleCurve(this._axis,i,s)}newResult(t,e){return{point:this._wirePoint.clone(),raySquaredDistance:void 0,snappedEdgeP1:t.clone(),snappedEdgeP2:e.clone()}}cylinderRaycast(t,e,s,i){const r=xp.raycastCircleExtr(t,e,s,i);for(const i of r)i.point&&this.fetchCylinderRaycastResult(s,t,e)}}class Gp{constructor(t){at(this,"_meshes"),at(this,"_results",[]),at(this,"_circleExtrusion",new Il),at(this,"_axis",new cl),at(this,"_normal",new $t),at(this,"_point",new $t),at(this,"_plane",new Ei),this._meshes=t}pointRaycast(t,e){return this._results.length=0,this._meshes.circleExtrusions(t,this._circleExtrusion),this.traverseAllCircleExtrusions(e),this.getCleanResults()}fetchOrientation(t,e){Mp.temp.vector.copy(t),Mp.temp.vector.sub(e),Mp.temp.vector.normalize();Mp.temp.rotation.setFromUnitVectors(Mp.up,Mp.temp.vector)}getTraverseWiresEvent(t,e){return(s,i)=>{this.fetchOrientation(s,i);const r=this.raycastCutCircleExtrusion(s,t,e),n=this.raycastCutCircleExtrusion(i,t,e);this._results.push(r,n)}}traverseAllCircleExtrusions(t){const e=this._circleExtrusion.axesLength();for(let s=0;s{this.fetchOrientation(s,i[0]);const n=this.raycastCutCircleExtrusion(s,t,e),a=i[i.length-1];this.fetchOrientation(a,r);const o=this.raycastCutCircleExtrusion(r,t,e);this._results.push(n,o)}}computeCutCircleExtrCast(t,e,s){s.intersectPlane(this._plane,this._point);if(this._point.distanceTo(t)<=e){return{point:t.clone()}}}raycastCutCircleExtrusion(t,e,s){this.setupCuttedCircleExtrusion(t);if(e.intersectsPlane(this._plane))return this.computeCutCircleExtrCast(t,s,e)}getCleanResults(){const t=[];for(const e of this._results)e&&t.push(e);return t}traverseAllCurves(t,e){const s=this.getTraverseWiresEvent(t,e);xp.traverseWires(this._axis,s);const i=this.getTraverseCircleCurveEvent(t,e),r=xp.circleCurve3Divisions;xp.traverseCircleCurve(this._axis,i,r);const n=this.getTraverseWiresEvent(t,e);xp.traverseWireSets(this._axis,n)}}class Hp{constructor(){at(this,"_currentElement",0),at(this,"_wireSize",6),at(this,"newCircleCurveLod",((t,e,s)=>{const i=this.newCircleCurveLodPath(t,e),r=s.positionBuffer;for(let t=1;t{const i=t.wireSets(e),r=i.psLength(),n=s.positionBuffer;for(let t=1;t{e.positionCount+=this._wireSize})),at(this,"newWireSetTemplate",((t,e)=>{const s=Mp.temp.axis.wireSets(t,Mp.temp.wireSet).psLength()-1;e.positionCount+=this._wireSize*s})),at(this,"newWireLod",((t,e,s)=>{const i=t.wires(e),r=i.p1(),n=i.p2(),a=s.positionBuffer;this.newWire(a,r,n)})),at(this,"newCircleCurveTemplate",((t,e)=>{const s=Mp.temp.axis.circleCurves(t,Mp.temp.circleCurve),i=xp.circleCurve3Divisions(s);e.positionCount+=this._wireSize*(i-1)}))}construct(t,e){this._currentElement=0,e.positionBuffer=new Float32Array(e.positionCount);for(let s=0,i=t.axesLength();s{if(this._list.length){const t=this._list;this._connection.fetchMeshCompute(this._modelId,t),this._list=[]}})),this._modelId=t,this._connection=e,this._updater=Pi.newUpdater(this.refresh,this._rate)}get needsRefresh(){return this._list.length>this._threshold}dispose(){Pi.deleteUpdater(this._updater)}clean(){this._list=Pi.cleanRequests(this._list)}process(t){this._list.push(t),this.needsRefresh&&this.refresh()}}class jp{constructor(t,e,s,i){at(this,"_meshes"),at(this,"_model"),at(this,"_boxes"),at(this,"_tiles"),at(this,"_items"),at(this,"_edgeThreshold",8),at(this,"_raycastMultiplier",32),at(this,"_maxDuration",512),at(this,"_precission",.001),at(this,"_temp",{sample:new Nl,representation:new dl,tempPlane:new Ei,ray:new Le,frustum:new Ti,m1:new be,m2:new be,m3:new be,v1:new $t,planes:[]}),this._model=t,this._boxes=e,this._tiles=s,this._items=i,this._meshes=t.meshes()}static cast(t,e,s,i,r){const n=e.id();return r===Ci.FACE?t.faceRaycast(n,s,i):r===Ci.LINE?t.lineRaycast(n,s,i):r===Ci.POINT?t.pointRaycast(n,s,i):void 0===r?t.raycast(n,s,i):void 0}raycast(t,e,s,i){const r={ray:t,frustum:e,planes:s,returnAll:i},n=this.castBox(e,s);return n.length?this.computeRaycastList(n,r):null}snapRaycast(t,e,s,i){const r=[],n={ray:t,frustum:e,planes:i},a=this.raycast(t,e,i);return a?(this.getSnaps(a,n,s,r),a.normal?this.filterOnFront(r):r):this.snapCastEdges(n,s)}rectangleRaycast(t,e,s){const i=this._boxes.lookup;if(!i)return[];const r=i.collideFrustum(e,t,s),n=this.filterVisible(r);return this.localIdsFromItemIds(n)}snapCastEdges(t,e){const s=[],i=e.includes(Ci.POINT),r=e.includes(Ci.LINE);return(i||r)&&this.computeEdgesCast(t,e,s),this.addDistanceToEdgeResult(s,t.ray),s}filterVisible(t){const e=[];for(const s of t){this._meshes.samples(s,this._temp.sample);const t=this._temp.sample.item();this._items.visible(t)&&e.push(s)}return e}computeSnaps(t,e,s,i){for(const r of t){if(this.isValidSnap(r)){const t={snap:r,...e},n=this.castSample(s,t);for(const t of n)i.push(t)}}}computeEdgesCast(t,e,s){const i=this.getRawEdges(t),r=performance.now();for(const n of i){this.fetchSampleData(n),this.computeSnaps(e,t,n,s);if(this.isTimeExceeded(r))break}}addDistanceToEdgeResult(t,e){for(const s of t){const t=s.point;s.raySquaredDistance=e.distanceSqToPoint(t)}}getRawEdges(t){const e=this.castBox(t.frustum,t.planes);return e.length<=this._edgeThreshold?e:this.sortBoxes(t.ray,e,this._edgeThreshold)}sortBoxes(t,e,s){const i=[],r=new $t,n=t.origin;for(let s=0;ss&&a.splice(s),a}castBox(t,e){const s=this._boxes.lookup;if(!s)return[];if(t instanceof Le){const i=s.collideRay(e,t);return this.filterVisible(i)}const i=s.collideFrustum(e,t);return this.filterVisible(i)}dataSort(t,e){const s=Array.from(t.keys()).sort(((t,s)=>e[t]-e[s])),i=[];for(const e of s){const s=t[e];i.push(s)}return i}localIdsFromItemIds(t){const e=new Set;for(const s of t){this._meshes.samples(s,this._temp.sample);const t=this._temp.sample.item(),i=this._meshes.meshesItems(t);if(null===i)continue;const r=this._model.localIds(i);null!==r&&e.add(r)}return Array.from(e)}getNearest(t){let e=t[0];for(let s=1;sthis._maxDuration}getFilteredSampleCast(t){const e=this._tiles.raycast(this._temp.representation,this._temp.ray,this._temp.frustum,t.snap);if(0===this._temp.planes.length)return e;const s=[];if(e)for(const t of e){const e=this._temp.planes,i=t.point;bc.containedInParallelPlanes(e,i)&&s.push(t)}return s}getSnaps(t,e,s,i){this.fetchSampleData(t.sampleId),t.normal&&(this.setCastSide(t,e.ray),this.setCastPlane(t)),this.getFaces(s,e,t,i),this.getEdges(e,s,i);for(const t of i)this.addLocalId(t)}filterOnFront(t){const e=[];for(const s of t){this._temp.tempPlane.distanceToPoint(s.point)>=0&&e.push(s)}return e}setCastSide(t,e){const s=t.point.clone().sub(e.origin);t.normal.dot(s)>0&&t.normal.negate()}getFaces(t,e,s,i){for(const r of t){const t={snap:r,...e},n=this.castSample(s.sampleId,t);for(const t of n)i.push(t)}}setCastPlane(t){const e=this._temp.tempPlane,s=t.point.clone(),i=t.normal.clone();i.multiplyScalar(this._precission),s.sub(i),e.setFromNormalAndCoplanarPoint(t.normal,s)}castSample(t,e){this.setupSampleCastData(e),this.setupPlanesForSampleCast(e);const s=this.getFilteredSampleCast(e);return s&&this.formatRaycastResult(s,t,e),s}isValidSnap(t){const e=t===Ci.LINE,s=t===Ci.POINT;return e||s}transform(t,e){const s=[];if(t)for(const i of t){const t=(new Ei).copy(i);t.applyMatrix4(e),s.push(t)}return s}setupPlanesForSampleCast(t){if(this._temp.planes.length=0,t.planes&&t.planes.length>0){const e=this.transform(t.planes,this._temp.m2);for(const t of e)this._temp.planes.push(t)}}}const Yp="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date,zp=new Set,kp="object"==typeof process&&process?process:{},Xp=(t,e,s,i)=>{"function"==typeof kp.emitWarning?kp.emitWarning(t,e,s,i):console.error(`[${s}] ${e}: ${t}`)};let Kp=globalThis.AbortController,Zp=globalThis.AbortSignal;if(void 0===Kp){Zp=class{constructor(){at(this,"onabort"),at(this,"_onabort",[]),at(this,"reason"),at(this,"aborted",!1)}addEventListener(t,e){this._onabort.push(e)}},Kp=class{constructor(){at(this,"signal",new Zp),s()}abort(t){var e,s;if(!this.signal.aborted){this.signal.reason=t,this.signal.aborted=!0;for(const e of this.signal._onabort)e(t);null==(s=(e=this.signal).onabort)||s.call(e,t)}}};let e="1"!==(null==(t=kp.env)?void 0:t.LRU_CACHE_IGNORE_AC_WARNING);const s=()=>{e&&(e=!1,Xp("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",s))}}const qp=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),Qp=t=>qp(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?Jp:null:null;class Jp extends Array{constructor(t){super(t),this.fill(0)}}const $p=class t{constructor(s,i){if(at(this,"heap"),at(this,"length"),!ht(t,e))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new i(s),this.length=0}static create(s){const i=Qp(s);if(!i)return[];lt(t,e,!0);const r=new t(s,i);return lt(t,e,!1),r}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}};e=new WeakMap,ct($p,e,!1);let tu=$p;const eu=class t{constructor(e){ct(this,v),ct(this,_),ct(this,G),ct(this,B),ct(this,W),ct(this,z),ct(this,X),ct(this,Z),ct(this,Q),ct(this,$),ct(this,et),ct(this,it),ct(this,s,void 0),ct(this,i,void 0),ct(this,r,void 0),ct(this,n,void 0),ct(this,a,void 0),ct(this,o,void 0),ct(this,h,void 0),at(this,"ttl"),at(this,"ttlResolution"),at(this,"ttlAutopurge"),at(this,"updateAgeOnGet"),at(this,"updateAgeOnHas"),at(this,"allowStale"),at(this,"noDisposeOnSet"),at(this,"noUpdateTTL"),at(this,"maxEntrySize"),at(this,"sizeCalculation"),at(this,"noDeleteOnFetchRejection"),at(this,"noDeleteOnStaleGet"),at(this,"allowStaleOnFetchAbort"),at(this,"allowStaleOnFetchRejection"),at(this,"ignoreFetchAbort"),ct(this,c,void 0),ct(this,l,void 0),ct(this,p,void 0),ct(this,u,void 0),ct(this,E,void 0),ct(this,I,void 0),ct(this,y,void 0),ct(this,T,void 0),ct(this,d,void 0),ct(this,N,void 0),ct(this,R,void 0),ct(this,f,void 0),ct(this,O,void 0),ct(this,D,void 0),ct(this,m,void 0),ct(this,A,void 0),ct(this,S,void 0),ct(this,C,void 0),ct(this,b,(()=>{})),ct(this,P,(()=>{})),ct(this,g,(()=>{})),ct(this,x,(()=>!1)),ct(this,F,(t=>{})),ct(this,U,((t,e,s)=>{})),ct(this,w,((t,e,s,i)=>{if(s||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0})),at(this,Y,"LRUCache");const{max:H=0,ttl:V,ttlResolution:j=1,ttlAutopurge:k,updateAgeOnGet:K,updateAgeOnHas:q,allowStale:J,dispose:tt,onInsert:st,disposeAfter:rt,noDisposeOnSet:nt,noUpdateTTL:ot,maxSize:pt=0,maxEntrySize:Et=0,sizeCalculation:It,fetchMethod:yt,memoMethod:Tt,noDeleteOnFetchRejection:dt,noDeleteOnStaleGet:Nt,allowStaleOnFetchRejection:Rt,allowStaleOnFetchAbort:ft,ignoreFetchAbort:Ot}=e;if(0!==H&&!qp(H))throw new TypeError("max option must be a nonnegative integer");const Dt=H?Qp(H):Array;if(!Dt)throw new Error("invalid max value: "+H);if(lt(this,s,H),lt(this,i,pt),this.maxEntrySize=Et||ht(this,i),this.sizeCalculation=It,this.sizeCalculation){if(!ht(this,i)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw new TypeError("sizeCalculation set to non-function")}if(void 0!==Tt&&"function"!=typeof Tt)throw new TypeError("memoMethod must be a function if defined");if(lt(this,h,Tt),void 0!==yt&&"function"!=typeof yt)throw new TypeError("fetchMethod must be a function if specified");if(lt(this,o,yt),lt(this,A,!!yt),lt(this,p,new Map),lt(this,u,new Array(H).fill(void 0)),lt(this,E,new Array(H).fill(void 0)),lt(this,I,new Dt(H)),lt(this,y,new Dt(H)),lt(this,T,0),lt(this,d,0),lt(this,N,tu.create(H)),lt(this,c,0),lt(this,l,0),"function"==typeof tt&<(this,r,tt),"function"==typeof st&<(this,n,st),"function"==typeof rt?(lt(this,a,rt),lt(this,R,[])):(lt(this,a,void 0),lt(this,R,void 0)),lt(this,m,!!ht(this,r)),lt(this,C,!!ht(this,n)),lt(this,S,!!ht(this,a)),this.noDisposeOnSet=!!nt,this.noUpdateTTL=!!ot,this.noDeleteOnFetchRejection=!!dt,this.allowStaleOnFetchRejection=!!Rt,this.allowStaleOnFetchAbort=!!ft,this.ignoreFetchAbort=!!Ot,0!==this.maxEntrySize){if(0!==ht(this,i)&&!qp(ht(this,i)))throw new TypeError("maxSize must be a positive integer if specified");if(!qp(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");ut(this,_,M).call(this)}if(this.allowStale=!!J,this.noDeleteOnStaleGet=!!Nt,this.updateAgeOnGet=!!K,this.updateAgeOnHas=!!q,this.ttlResolution=qp(j)||0===j?j:1,this.ttlAutopurge=!!k,this.ttl=V||0,this.ttl){if(!qp(this.ttl))throw new TypeError("ttl must be a positive integer if specified");ut(this,v,L).call(this)}if(0===ht(this,s)&&0===this.ttl&&0===ht(this,i))throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!ht(this,s)&&!ht(this,i)){const e="LRU_CACHE_UNBOUNDED";if((t=>!zp.has(t))(e)){zp.add(e);Xp("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",e,t)}}}static unsafeExposeInternals(t){return{starts:ht(t,O),ttls:ht(t,D),sizes:ht(t,f),keyMap:ht(t,p),keyList:ht(t,u),valList:ht(t,E),next:ht(t,I),prev:ht(t,y),get head(){return ht(t,T)},get tail(){return ht(t,d)},free:ht(t,N),isBackgroundFetch:e=>{var s;return ut(s=t,Z,q).call(s,e)},backgroundFetch:(e,s,i,r)=>{var n;return ut(n=t,X,K).call(n,e,s,i,r)},moveToTail:e=>{var s;return ut(s=t,$,tt).call(s,e)},indexes:e=>{var s;return ut(s=t,G,H).call(s,e)},rindexes:e=>{var s;return ut(s=t,B,V).call(s,e)},isStale:e=>{var s;return ht(s=t,x).call(s,e)}}}get max(){return ht(this,s)}get maxSize(){return ht(this,i)}get calculatedSize(){return ht(this,l)}get size(){return ht(this,c)}get fetchMethod(){return ht(this,o)}get memoMethod(){return ht(this,h)}get dispose(){return ht(this,r)}get onInsert(){return ht(this,n)}get disposeAfter(){return ht(this,a)}getRemainingTTL(t){return ht(this,p).has(t)?1/0:0}*entries(){for(const t of ut(this,G,H).call(this))void 0===ht(this,E)[t]||void 0===ht(this,u)[t]||ut(this,Z,q).call(this,ht(this,E)[t])||(yield[ht(this,u)[t],ht(this,E)[t]])}*rentries(){for(const t of ut(this,B,V).call(this))void 0===ht(this,E)[t]||void 0===ht(this,u)[t]||ut(this,Z,q).call(this,ht(this,E)[t])||(yield[ht(this,u)[t],ht(this,E)[t]])}*keys(){for(const t of ut(this,G,H).call(this)){const e=ht(this,u)[t];void 0===e||ut(this,Z,q).call(this,ht(this,E)[t])||(yield e)}}*rkeys(){for(const t of ut(this,B,V).call(this)){const e=ht(this,u)[t];void 0===e||ut(this,Z,q).call(this,ht(this,E)[t])||(yield e)}}*values(){for(const t of ut(this,G,H).call(this)){void 0===ht(this,E)[t]||ut(this,Z,q).call(this,ht(this,E)[t])||(yield ht(this,E)[t])}}*rvalues(){for(const t of ut(this,B,V).call(this)){void 0===ht(this,E)[t]||ut(this,Z,q).call(this,ht(this,E)[t])||(yield ht(this,E)[t])}}[Symbol.iterator](){return this.entries()}find(t,e={}){for(const s of ut(this,G,H).call(this)){const i=ht(this,E)[s],r=ut(this,Z,q).call(this,i)?i.__staleWhileFetching:i;if(void 0!==r&&t(r,ht(this,u)[s],this))return this.get(ht(this,u)[s],e)}}forEach(t,e=this){for(const s of ut(this,G,H).call(this)){const i=ht(this,E)[s],r=ut(this,Z,q).call(this,i)?i.__staleWhileFetching:i;void 0!==r&&t.call(e,r,ht(this,u)[s],this)}}rforEach(t,e=this){for(const s of ut(this,B,V).call(this)){const i=ht(this,E)[s],r=ut(this,Z,q).call(this,i)?i.__staleWhileFetching:i;void 0!==r&&t.call(e,r,ht(this,u)[s],this)}}purgeStale(){let t=!1;for(const e of ut(this,B,V).call(this,{allowStale:!0}))ht(this,x).call(this,e)&&(ut(this,et,st).call(this,ht(this,u)[e],"expire"),t=!0);return t}info(t){const e=ht(this,p).get(t);if(void 0===e)return;const s=ht(this,E)[e],i=ut(this,Z,q).call(this,s)?s.__staleWhileFetching:s;if(void 0===i)return;const r={value:i};if(ht(this,D)&&ht(this,O)){const t=ht(this,D)[e],s=ht(this,O)[e];if(t&&s){const e=t-(Yp.now()-s);r.ttl=e,r.start=Date.now()}}return ht(this,f)&&(r.size=ht(this,f)[e]),r}dump(){const t=[];for(const e of ut(this,G,H).call(this,{allowStale:!0})){const s=ht(this,u)[e],i=ht(this,E)[e],r=ut(this,Z,q).call(this,i)?i.__staleWhileFetching:i;if(void 0===r||void 0===s)continue;const n={value:r};if(ht(this,D)&&ht(this,O)){n.ttl=ht(this,D)[e];const t=Yp.now()-ht(this,O)[e];n.start=Math.floor(Date.now()-t)}ht(this,f)&&(n.size=ht(this,f)[e]),t.unshift([s,n])}return t}load(t){this.clear();for(const[e,s]of t){if(s.start){const t=Date.now()-s.start;s.start=Yp.now()-t}this.set(e,s.value,s)}}set(t,e,i={}){var o,h,l,T,f,O,b;if(void 0===e)return this.delete(t),this;const{ttl:x=this.ttl,start:_,noDisposeOnSet:M=this.noDisposeOnSet,sizeCalculation:G=this.sizeCalculation,status:H}=i;let{noUpdateTTL:B=this.noUpdateTTL}=i;const V=ht(this,w).call(this,t,e,i.size||0,G);if(this.maxEntrySize&&V>this.maxEntrySize)return H&&(H.set="miss",H.maxEntrySizeExceeded=!0),ut(this,et,st).call(this,t,"set"),this;let W=0===ht(this,c)?void 0:ht(this,p).get(t);if(void 0===W)W=0===ht(this,c)?ht(this,d):0!==ht(this,N).length?ht(this,N).pop():ht(this,c)===ht(this,s)?ut(this,z,k).call(this,!1):ht(this,c),ht(this,u)[W]=t,ht(this,E)[W]=e,ht(this,p).set(t,W),ht(this,I)[ht(this,d)]=W,ht(this,y)[W]=ht(this,d),lt(this,d,W),pt(this,c)._++,ht(this,U).call(this,W,V,H),H&&(H.set="add"),B=!1,ht(this,C)&&(null==(o=ht(this,n))||o.call(this,e,t,"add"));else{ut(this,$,tt).call(this,W);const s=ht(this,E)[W];if(e!==s){if(ht(this,A)&&ut(this,Z,q).call(this,s)){s.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:e}=s;void 0===e||M||(ht(this,m)&&(null==(h=ht(this,r))||h.call(this,e,t,"set")),ht(this,S)&&(null==(l=ht(this,R))||l.push([e,t,"set"])))}else M||(ht(this,m)&&(null==(T=ht(this,r))||T.call(this,s,t,"set")),ht(this,S)&&(null==(f=ht(this,R))||f.push([s,t,"set"])));if(ht(this,F).call(this,W),ht(this,U).call(this,W,V,H),ht(this,E)[W]=e,H){H.set="replace";const t=s&&ut(this,Z,q).call(this,s)?s.__staleWhileFetching:s;void 0!==t&&(H.oldValue=t)}}else H&&(H.set="update");ht(this,C)&&(null==(O=this.onInsert)||O.call(this,e,t,e===s?"update":"replace"))}if(0===x||ht(this,D)||ut(this,v,L).call(this),ht(this,D)&&(B||ht(this,g).call(this,W,x,_),H&&ht(this,P).call(this,H,W)),!M&&ht(this,S)&&ht(this,R)){const t=ht(this,R);let e;for(;e=null==t?void 0:t.shift();)null==(b=ht(this,a))||b.call(this,...e)}return this}pop(){var t;try{for(;ht(this,c);){const t=ht(this,E)[ht(this,T)];if(ut(this,z,k).call(this,!0),ut(this,Z,q).call(this,t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(void 0!==t)return t}}finally{if(ht(this,S)&&ht(this,R)){const e=ht(this,R);let s;for(;s=null==e?void 0:e.shift();)null==(t=ht(this,a))||t.call(this,...s)}}}has(t,e={}){const{updateAgeOnHas:s=this.updateAgeOnHas,status:i}=e,r=ht(this,p).get(t);if(void 0!==r){const t=ht(this,E)[r];if(ut(this,Z,q).call(this,t)&&void 0===t.__staleWhileFetching)return!1;if(!ht(this,x).call(this,r))return s&&ht(this,b).call(this,r),i&&(i.has="hit",ht(this,P).call(this,i,r)),!0;i&&(i.has="stale",ht(this,P).call(this,i,r))}else i&&(i.has="miss");return!1}peek(t,e={}){const{allowStale:s=this.allowStale}=e,i=ht(this,p).get(t);if(void 0===i||!s&&ht(this,x).call(this,i))return;const r=ht(this,E)[i];return ut(this,Z,q).call(this,r)?r.__staleWhileFetching:r}async fetch(t,e={}){const{allowStale:s=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:n=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:o=0,sizeCalculation:h=this.sizeCalculation,noUpdateTTL:c=this.noUpdateTTL,noDeleteOnFetchRejection:l=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:u=this.allowStaleOnFetchRejection,ignoreFetchAbort:I=this.ignoreFetchAbort,allowStaleOnFetchAbort:y=this.allowStaleOnFetchAbort,context:T,forceRefresh:d=!1,status:N,signal:R}=e;if(!ht(this,A))return N&&(N.fetch="get"),this.get(t,{allowStale:s,updateAgeOnGet:i,noDeleteOnStaleGet:r,status:N});const f={allowStale:s,updateAgeOnGet:i,noDeleteOnStaleGet:r,ttl:n,noDisposeOnSet:a,size:o,sizeCalculation:h,noUpdateTTL:c,noDeleteOnFetchRejection:l,allowStaleOnFetchRejection:u,allowStaleOnFetchAbort:y,ignoreFetchAbort:I,status:N,signal:R};let O=ht(this,p).get(t);if(void 0===O){N&&(N.fetch="miss");const e=ut(this,X,K).call(this,t,O,f,T);return e.__returned=e}{const e=ht(this,E)[O];if(ut(this,Z,q).call(this,e)){const t=s&&void 0!==e.__staleWhileFetching;return N&&(N.fetch="inflight",t&&(N.returnedStale=!0)),t?e.__staleWhileFetching:e.__returned=e}const r=ht(this,x).call(this,O);if(!d&&!r)return N&&(N.fetch="hit"),ut(this,$,tt).call(this,O),i&&ht(this,b).call(this,O),N&&ht(this,P).call(this,N,O),e;const n=ut(this,X,K).call(this,t,O,f,T),a=void 0!==n.__staleWhileFetching&&s;return N&&(N.fetch=r?"stale":"refresh",a&&r&&(N.returnedStale=!0)),a?n.__staleWhileFetching:n.__returned=n}}async forceFetch(t,e={}){const s=await this.fetch(t,e);if(void 0===s)throw new Error("fetch() returned undefined");return s}memo(t,e={}){const s=ht(this,h);if(!s)throw new Error("no memoMethod provided to constructor");const{context:i,forceRefresh:r,...n}=e,a=this.get(t,n);if(!r&&void 0!==a)return a;const o=s(t,a,{options:n,context:i});return this.set(t,o,n),o}get(t,e={}){const{allowStale:s=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:n}=e,a=ht(this,p).get(t);if(void 0!==a){const e=ht(this,E)[a],o=ut(this,Z,q).call(this,e);return n&&ht(this,P).call(this,n,a),ht(this,x).call(this,a)?(n&&(n.get="stale"),o?(n&&s&&void 0!==e.__staleWhileFetching&&(n.returnedStale=!0),s?e.__staleWhileFetching:void 0):(r||ut(this,et,st).call(this,t,"expire"),n&&s&&(n.returnedStale=!0),s?e:void 0)):(n&&(n.get="hit"),o?e.__staleWhileFetching:(ut(this,$,tt).call(this,a),i&&ht(this,b).call(this,a),e))}n&&(n.get="miss")}delete(t){return ut(this,et,st).call(this,t,"delete")}clear(){return ut(this,it,rt).call(this,"delete")}};Y=Symbol.toStringTag,s=new WeakMap,i=new WeakMap,r=new WeakMap,n=new WeakMap,a=new WeakMap,o=new WeakMap,h=new WeakMap,c=new WeakMap,l=new WeakMap,p=new WeakMap,u=new WeakMap,E=new WeakMap,I=new WeakMap,y=new WeakMap,T=new WeakMap,d=new WeakMap,N=new WeakMap,R=new WeakMap,f=new WeakMap,O=new WeakMap,D=new WeakMap,m=new WeakMap,A=new WeakMap,S=new WeakMap,C=new WeakMap,v=new WeakSet,L=function(){const t=new Jp(ht(this,s)),e=new Jp(ht(this,s));lt(this,D,t),lt(this,O,e),lt(this,g,((s,i,r=Yp.now())=>{if(e[s]=0!==i?r:0,t[s]=i,0!==i&&this.ttlAutopurge){const t=setTimeout((()=>{ht(this,x).call(this,s)&&ut(this,et,st).call(this,ht(this,u)[s],"expire")}),i+1);t.unref&&t.unref()}})),lt(this,b,(s=>{e[s]=0!==t[s]?Yp.now():0})),lt(this,P,((s,n)=>{if(t[n]){const a=t[n],o=e[n];if(!a||!o)return;s.ttl=a,s.start=o,s.now=i||r();const h=s.now-o;s.remainingTTL=a-h}}));let i=0;const r=()=>{const t=Yp.now();if(this.ttlResolution>0){i=t;const e=setTimeout((()=>i=0),this.ttlResolution);e.unref&&e.unref()}return t};this.getRemainingTTL=s=>{const n=ht(this,p).get(s);if(void 0===n)return 0;const a=t[n],o=e[n];if(!a||!o)return 1/0;return a-((i||r())-o)},lt(this,x,(s=>{const n=e[s],a=t[s];return!!a&&!!n&&(i||r())-n>a}))},b=new WeakMap,P=new WeakMap,g=new WeakMap,x=new WeakMap,_=new WeakSet,M=function(){const t=new Jp(ht(this,s));lt(this,l,0),lt(this,f,t),lt(this,F,(e=>{lt(this,l,ht(this,l)-t[e]),t[e]=0})),lt(this,w,((t,e,s,i)=>{if(ut(this,Z,q).call(this,e))return 0;if(!qp(s)){if(!i)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if("function"!=typeof i)throw new TypeError("sizeCalculation must be a function");if(s=i(e,t),!qp(s))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return s})),lt(this,U,((e,s,r)=>{if(t[e]=s,ht(this,i)){const s=ht(this,i)-t[e];for(;ht(this,l)>s;)ut(this,z,k).call(this,!0)}lt(this,l,ht(this,l)+t[e]),r&&(r.entrySize=s,r.totalCalculatedSize=ht(this,l))}))},F=new WeakMap,U=new WeakMap,w=new WeakMap,G=new WeakSet,H=function*({allowStale:t=this.allowStale}={}){if(ht(this,c))for(let e=ht(this,d);ut(this,W,j).call(this,e)&&(!t&&ht(this,x).call(this,e)||(yield e),e!==ht(this,T));)e=ht(this,y)[e]},B=new WeakSet,V=function*({allowStale:t=this.allowStale}={}){if(ht(this,c))for(let e=ht(this,T);ut(this,W,j).call(this,e)&&(!t&&ht(this,x).call(this,e)||(yield e),e!==ht(this,d));)e=ht(this,I)[e]},W=new WeakSet,j=function(t){return void 0!==t&&ht(this,p).get(ht(this,u)[t])===t},z=new WeakSet,k=function(t){var e,s;const i=ht(this,T),n=ht(this,u)[i],a=ht(this,E)[i];return ht(this,A)&&ut(this,Z,q).call(this,a)?a.__abortController.abort(new Error("evicted")):(ht(this,m)||ht(this,S))&&(ht(this,m)&&(null==(e=ht(this,r))||e.call(this,a,n,"evict")),ht(this,S)&&(null==(s=ht(this,R))||s.push([a,n,"evict"]))),ht(this,F).call(this,i),t&&(ht(this,u)[i]=void 0,ht(this,E)[i]=void 0,ht(this,N).push(i)),1===ht(this,c)?(lt(this,T,lt(this,d,0)),ht(this,N).length=0):lt(this,T,ht(this,I)[i]),ht(this,p).delete(n),pt(this,c)._--,i},X=new WeakSet,K=function(t,e,s,i){const r=void 0===e?void 0:ht(this,E)[e];if(ut(this,Z,q).call(this,r))return r;const n=new Kp,{signal:a}=s;null==a||a.addEventListener("abort",(()=>n.abort(a.reason)),{signal:n.signal});const h={signal:n.signal,options:s,context:i},c=(i,r=!1)=>{const{aborted:a}=n.signal,o=s.ignoreFetchAbort&&void 0!==i;if(s.status&&(a&&!r?(s.status.fetchAborted=!0,s.status.fetchError=n.signal.reason,o&&(s.status.fetchAbortIgnored=!0)):s.status.fetchResolved=!0),a&&!o&&!r)return l(n.signal.reason);const c=u;return ht(this,E)[e]===u&&(void 0===i?c.__staleWhileFetching?ht(this,E)[e]=c.__staleWhileFetching:ut(this,et,st).call(this,t,"fetch"):(s.status&&(s.status.fetchUpdated=!0),this.set(t,i,h.options))),i},l=i=>{const{aborted:r}=n.signal,a=r&&s.allowStaleOnFetchAbort,o=a||s.allowStaleOnFetchRejection,h=o||s.noDeleteOnFetchRejection,c=u;if(ht(this,E)[e]===u){!h||void 0===c.__staleWhileFetching?ut(this,et,st).call(this,t,"fetch"):a||(ht(this,E)[e]=c.__staleWhileFetching)}if(o)return s.status&&void 0!==c.__staleWhileFetching&&(s.status.returnedStale=!0),c.__staleWhileFetching;if(c.__returned===c)throw i};s.status&&(s.status.fetchDispatched=!0);const u=new Promise(((e,i)=>{var a;const l=null==(a=ht(this,o))?void 0:a.call(this,t,r,h);l&&l instanceof Promise&&l.then((t=>e(void 0===t?void 0:t)),i),n.signal.addEventListener("abort",(()=>{s.ignoreFetchAbort&&!s.allowStaleOnFetchAbort||(e(void 0),s.allowStaleOnFetchAbort&&(e=t=>c(t,!0)))}))})).then(c,(t=>(s.status&&(s.status.fetchRejected=!0,s.status.fetchError=t),l(t)))),I=Object.assign(u,{__abortController:n,__staleWhileFetching:r,__returned:void 0});return void 0===e?(this.set(t,I,{...h.options,status:void 0}),e=ht(this,p).get(t)):ht(this,E)[e]=I,I},Z=new WeakSet,q=function(t){if(!ht(this,A))return!1;const e=t;return!!e&&e instanceof Promise&&e.hasOwnProperty("__staleWhileFetching")&&e.__abortController instanceof Kp},Q=new WeakSet,J=function(t,e){ht(this,y)[e]=t,ht(this,I)[t]=e},$=new WeakSet,tt=function(t){t!==ht(this,d)&&(t===ht(this,T)?lt(this,T,ht(this,I)[t]):ut(this,Q,J).call(this,ht(this,y)[t],ht(this,I)[t]),ut(this,Q,J).call(this,ht(this,d),t),lt(this,d,t))},et=new WeakSet,st=function(t,e){var s,i,n,o;let h=!1;if(0!==ht(this,c)){const n=ht(this,p).get(t);if(void 0!==n)if(h=!0,1===ht(this,c))ut(this,it,rt).call(this,e);else{ht(this,F).call(this,n);const a=ht(this,E)[n];if(ut(this,Z,q).call(this,a)?a.__abortController.abort(new Error("deleted")):(ht(this,m)||ht(this,S))&&(ht(this,m)&&(null==(s=ht(this,r))||s.call(this,a,t,e)),ht(this,S)&&(null==(i=ht(this,R))||i.push([a,t,e]))),ht(this,p).delete(t),ht(this,u)[n]=void 0,ht(this,E)[n]=void 0,n===ht(this,d))lt(this,d,ht(this,y)[n]);else if(n===ht(this,T))lt(this,T,ht(this,I)[n]);else{const t=ht(this,y)[n];ht(this,I)[t]=ht(this,I)[n];const e=ht(this,I)[n];ht(this,y)[e]=ht(this,y)[n]}pt(this,c)._--,ht(this,N).push(n)}}if(ht(this,S)&&(null==(n=ht(this,R))?void 0:n.length)){const t=ht(this,R);let e;for(;e=null==t?void 0:t.shift();)null==(o=ht(this,a))||o.call(this,...e)}return h},it=new WeakSet,rt=function(t){var e,s,i;for(const i of ut(this,B,V).call(this,{allowStale:!0})){const n=ht(this,E)[i];if(ut(this,Z,q).call(this,n))n.__abortController.abort(new Error("deleted"));else{const a=ht(this,u)[i];ht(this,m)&&(null==(e=ht(this,r))||e.call(this,n,a,t)),ht(this,S)&&(null==(s=ht(this,R))||s.push([n,a,t]))}}if(ht(this,p).clear(),ht(this,E).fill(void 0),ht(this,u).fill(void 0),ht(this,D)&&ht(this,O)&&(ht(this,D).fill(0),ht(this,O).fill(0)),ht(this,f)&&ht(this,f).fill(0),lt(this,T,0),lt(this,d,0),ht(this,N).length=0,lt(this,l,0),lt(this,c,0),ht(this,S)&&ht(this,R)){const t=ht(this,R);let e;for(;e=null==t?void 0:t.shift();)null==(i=ht(this,a))||i.call(this,...e)}};let su=eu;const iu=class{static get(t){return this._meshes.get(t)}static lockIn(t){Object.seal(t)}static add(t,e){this._meshes.set(t,e)}static delete(t){for(const e of t)this._meshes.delete(e)}static setCapacity(t){t!==this._capacity&&(this._meshes.clear(),this._meshes=this.setupMeshes(t),this._capacity=t)}static setupMeshes(t){const e=Math.max(t??this.computeCapacity(),1),s=this.getSizeCalculationEvent();return new su({maxSize:e,sizeCalculation:s})}static computeCapacity(){const t=globalThis.navigator&&"deviceMemory"in globalThis.navigator?globalThis.navigator.deviceMemory:null,e=null!==t?t:2,s=this.oneHundredMb*e;return Math.trunc(s)}static getDataSetMemory(t){let e=0;for(const s of t)e+=s.usedMemory;return Math.max(e,1)}static getSizeCalculationEvent(){return t=>Array.isArray(t)?this.getDataSetMemory(t):Math.max(t.usedMemory,1)}};at(iu,"oneHundredMb",1e8),at(iu,"_meshes",iu.setupMeshes()),at(iu,"_capacity"),at(iu,"_memoryAttributes",["positionBuffer","indexBuffer","normalBuffer"]),at(iu,"updateMeshMemory",(t=>{t.usedMemory=0;for(const e of iu._memoryAttributes)void 0!==t.usedMemory&&t[e]&&(t.usedMemory+=t[e].byteLength);iu.lockIn(t)}));let ru=iu;const nu=class t{constructor(t){at(this,"meshes"),at(this,"tilesUpdated",!1),at(this,"_sampleAmount"),at(this,"_tileDimension"),at(this,"_tileBySample"),at(this,"_lodBySample"),at(this,"_virtualMeshes",new Map),at(this,"_meshConnection"),at(this,"_samples"),at(this,"_tileIdGenerator",new _l),at(this,"_tiles",new Map),at(this,"_tilesChanged",new Set),at(this,"_sizeByTile",new Map),at(this,"_samplesDimensions"),at(this,"_sampleLodClass"),at(this,"_sampleLodState"),at(this,"_sampleLodSize"),at(this,"_boxes"),at(this,"_items"),at(this,"_materials"),at(this,"_modelId"),at(this,"_lastView",{rotation:new $t,location:new $t}),at(this,"_params",{updateTime:16,updateSamples:64,updateviewOrientation:8*Math.PI/180,updateViewPosition:256,smallTileSize:.32,mediumTileSize:4,smallObjectSize:2,smallScreenSize:2,mediumScreenSize:4,largeScreenSize:16,tempTileDataSize:6,tileIdIncrement:1,tileSizeMultiplier:10,minTileDimension:32,tileDimensionFactor:8}),at(this,"_temp",{sample:new Nl,representation:new dl,vector:new $t,matrix:new be,transform:new be,boundingBox:new se,sampleGeometry:{},box:new se,raycastPoints:[],tileData:{positionCount:this._params.tempTileDataSize,objectClass:Oi.LINE,positionBuffer:new Float32Array(this._params.tempTileDataSize)},tileCenter:new $t,tile:{objectClass:Oi.LINE,positionCount:6},viewDimension:0,pastFieldOfview:0}),at(this,"_currentSample",0),at(this,"_virtualPlanes",[]),at(this,"_changedSamples",0),at(this,"_virtualView"),at(this,"_lodMode",bi.DEFAULT),this._modelId=t.modelId,this._boxes=t.boxes,this._items=t.items,this._materials=t.materials,this._meshConnection=new Wp(t.modelId,t.connection),this.meshes=t.model.meshes(),this._sampleAmount=this.meshes.samplesLength(),this._samples=new Vp(this._sampleAmount),this._samplesDimensions=new Int32Array(this._sampleAmount),this._sampleLodClass=new Uint8Array(this._sampleAmount),this._sampleLodState=new Uint8Array(this._sampleAmount),this._sampleLodSize=new Float32Array(this._sampleAmount),this._tileDimension=this.computeTileSize(),this._tileBySample=new Array(this._sampleAmount),this._lodBySample=new Array(this._sampleAmount),this.init()}restart(){this.resetUpdateProcess(),this._meshConnection.clean()}fetchSample(t,e){this.fetchSampleAndRepresentation(t);const s=this.fetchCurrentMesh(),i=this.sampleTemplate(t);return i.geometries=this.sampleGeoms(i,e,s),i}fetchGeometry(t){this.meshes.representations(t,this._temp.representation);return this.fetchCurrentMesh().fetchMeshes(t,!0)}dispose(){this._meshConnection.dispose();for(const[,t]of this._virtualMeshes)t.dispose()}generate(){for(const[,t]of this._virtualMeshes)t.setupTemplates();for(let t=0;t=this._sampleAmount&&t&&(this._meshConnection.process({tileRequestClass:Di.FINISH,modelId:this._modelId}),this.tilesUpdated=!0)}updatePositionIfNeeded(){const t=this._params.updateViewPosition,e=this._virtualView.cameraPosition;e.distanceToSquared(this._lastView.location)>t&&(this._currentSample=0,this._lastView.location.copy(e))}updateCurrentSample(){this._currentSample++,this._currentSample>=this._sampleAmount&&(this._currentSample=0),this._changedSamples++}processSamplesDimension(){for(let t=0;tthis._boxes.dimensionOf(e)-this._boxes.dimensionOf(t)))}setupViewPlanes(){this._virtualPlanes=[];for(const t of this._virtualView.cameraFrustum.planes)this._virtualPlanes.push(t);if(this._virtualView.clippingPlanes)for(const t of this._virtualView.clippingPlanes)this._virtualPlanes.push(t)}updateOrientationIfNeeded(){const t=this.getCurrentViewOrientation(),e=this._params.updateviewOrientation;t.angleTo(this._lastView.rotation)>e&&(this._currentSample=0,this._lastView.rotation.copy(t))}getCurrentViewOrientation(){return this._virtualView.cameraFrustum.planes[4].normal}resetUpdateProcess(){this._changedSamples=0,this.tilesUpdated=!1}manageRaycast(t,e,s,i,r){const n=jp.cast(t,e,s,i,r);if(n)for(const e of n)e.representationClass=t.getObjectClass(),this._temp.raycastPoints.push(e)}setTileShellBuffer(t){void 0!==t.usedMemory&&t.objectClass===Oi.SHELL&&(t.ids=new Float32Array(t.positionCount/3),t.usedMemory+=t.ids.byteLength)}getTileWhenSamplePut(t,e,s){let i=this._tiles.get(t);if(void 0===i){const r=e.lod||mi.GEOMETRY;i=this.newTile(e.objectClass,s,r),this._tiles.set(t,i)}return i}getPerspTrueDim(t,e){const s=Math.PI/180;return e*Math.tan(.5*t*s)}getTileHighlight(t,e){let s,i;const r=t.highlights;if(!r)return{highlightData:void 0,highlightIds:void 0};const n=r.size((t=>0!==t));if(n>0){i=new Uint16Array(n);const t=t=>0!==t,a=(t,e)=>i[t]=e;s=Fl.get(r,e,t,a)}return{highlightData:s,highlightIds:i}}setupTileSampleAttributes(t,e,s,i){const r=3*t.vertexLocation[e];for(let e=0;et))}memoryOverflow(){return t._graphicMemoryConsumed>this._virtualView.graphicThreshold}updateMesh(t){let e=this.fetchLodLevel(t);const s=this._sampleLodState[t];e=this.hideHighlightedLods(e,t),e!==s?this.updateVisible(s,e,t):this.updateSampleIfSeen(e,t)}tileLoadSample(t,e,s){const i=t.sampleLocation.get(e.sample),r=this.getSampleGeometries(e,s);this.setupTileLocation(t,r,e),this.fetchSampleTransform(t,e),this.setupTileSampleAttributes(t,i,r,e)}updateSampleIfSeen(t,e){t!==mi.INVISIBLE&&this.updateSample(e,t)}hideHighlightedLods(t,e){return t===mi.WIRES&&this._samples.getHighlight(e)&&(t=mi.INVISIBLE),t}updateVisible(t,e,s){t!==mi.INVISIBLE&&this.makeSampleInvisible(s,t);const i=e!==mi.INVISIBLE;i&&this.updateSample(s,e),this._samples.setVisible(s,i),this._sampleLodState[s]=e}makeInvisibleFromTile(t,e){const s=this._tiles.get(t);this.updateTileData(s,e,!1,0),this.deleteTileIfNeeded(s,t)}updateSample(t,e){const s=this.itemId(t),i=this._items.visible(s),r=this._items.getHighlight(s);this.hasChanged(t,e,i,r)&&this.setSample(t,i,r,e)}hasHighlightChanged(t,e){return e!==this._samples.getHighlight(t)}hasVisibleChanged(t,e){return e!==this._samples.visible(t)}newTile(t,e,s){const i={notVirtual:!1};return i.materialId=e,i.indexLocation=[],i.box=new se,i.objectClass=t,i.lod=s,i.normalCount=0,i.indexCount=0,i.vertexLocation=[],i.size=0,i.geometriesLocation=[],i.positionCount=0,i.sampleLocation=new Map,i.faceIdBuffer=new Uint32Array(0),i}createLod(t){const e=Bl.boxSize(t),s=this._temp.tileData.positionBuffer;if(!s)throw new Error("Fragments: Malformed tiles!");return s[0]=e.start.x,s[1]=e.start.y,s[2]=e.start.z,s[3]=e.end.x,s[4]=e.end.y,s[5]=e.end.z,this._temp.tileData}sampleTemplate(t){const e=this._temp.sample,s=this._temp.representation;Bl.get(e,this.meshes,this._temp.transform),Bl.getBox(s,this._temp.boundingBox),this._temp.sampleGeometry.sample=t;const i=e.material();return this._temp.sampleGeometry.material=this._materials[i],this._temp.sampleGeometry.transform=this._temp.transform,this._temp.sampleGeometry.aabb=this._temp.boundingBox,delete this._temp.sampleGeometry.geometries,this._temp.sampleGeometry}makeSampleInvisible(t,e){const s=this.getTileIds(t,e);if(!s)return;Ul.forEach(s,(e=>this.makeInvisibleFromTile(e,t)))}setSample(t,e,s,i){this._samples.setVisible(t,e),this._samples.setHighlight(t,s);const r=this.getTileIds(t,i);void 0!==r&&Ul.forEach(r,(e=>{this.updateTile(e,t,s,0===s)}))}getTileIds(t,e){return e===mi.GEOMETRY?this._tileBySample[t]:this._lodBySample[t]}addBasicTileData(t,e,s){t.sampleLocation.set(e,t.size),t.size++,t.geometriesLocation.push(s),t.indexLocation.push(t.indexCount||0),t.vertexLocation.push((t.positionCount||0)/3)}buildNewVirtualTile(t,e){this.constructTile(t),this.loadTile(e,t),t.notVirtual=!0,delete t.indexBuffer,delete t.positionBuffer,delete t.normalBuffer,delete t.faceIdBuffer,delete t.ids}deleteTileIfNeeded(e,s){if(this.getShouldDeleteTile(e))return this.deleteGeometry(s),e.notVirtual=!1,void(t._graphicMemoryConsumed-=e.usedMemory);this._tilesChanged.add(s)}getShouldDeleteTile(t){if(!t.visibilities||!t.highlights)throw new Error("Fragments: Malformed tile!");const e=t.visibilities.fullOf(!1),s=t.highlights.fullOf(0),i=this.memoryOverflow();return e&&s&&i}checkTileMemoryOverflow(t,e){const s=this._tiles.get(t);return(s?s.positionCount:0)+e.positionCount>fi}updateTileData(t,e,s,i){if(!t.visibilities||!t.highlights)throw new Error("Fragments: Malformed tile!");const r=t.sampleLocation.get(e);t.visibilities.update(r,s),t.highlights.update(r,i)}getKeepUpdating(t,e){const s=this._params.updateTime,i=this._params.updateSamples,r=tfi&&console.log("Fragments: Buffer overflow")}fetchLodLevel(t){if(this._lodMode===bi.ALL_VISIBLE)return mi.GEOMETRY;const e=this._boxes.get(t);if(!Pc.collides(e,this._virtualPlanes))return mi.INVISIBLE;this.meshes.samples(t,this._temp.sample);const s=this._temp.sample.item();if(!this._items.visible(s))return mi.INVISIBLE;const i=this._virtualView.graphicQuality,r=this._boxes.dimensionOf(t),n=e.distanceToPoint(this._virtualView.cameraPosition),a=this.screenSize(r,n),o=r{const n=this.newTileId(t,e,s);i=this.getTileIdsWhenSamplePut(i,n);const a=this.getTileWhenSamplePut(n,s,e);this.tileAppend(a,s,t,r)})),i}hasLodChanged(t,e){return e!==this._sampleLodState[t]}getTileIdsWhenSamplePut(t,e){return void 0===t?t=e:"number"==typeof t?t!==e&&(t=[t,e]):t.includes(e)||t.push(e),t}updateTile(t,e,s,i){const r=this._tiles.get(t);this.updateTileData(r,e,i,s),r.notVirtual?this._tilesChanged.add(t):this.buildNewVirtualTile(r,t)}getLodTileWhenPutSample(t,e){let s=this._tiles.get(t);if(!s){const i=this._temp.tile.objectClass;s=this.newTile(i,e,mi.WIRES),this._tiles.set(t,s)}return s}lodTileAppendSample(t,e){const s=mi.WIRES,i=this._temp.tile,r=this.generateTileCode(t,e,i,s),n=this.getLodTileWhenPutSample(r,e);return this.tileAppend(n,i,t,0),r}addSampleToTile(t,e,s){const i=this.meshData(t,!1,mi.GEOMETRY);this._tileBySample[e]=this.putSampleInTiles(e,s,i)}setTileBuffer(t,e,s){if(void 0===t.usedMemory)return;const i=t[`${e}Count`];if(i>0){const r=s?new Uint16Array(i):new Int16Array(i);t[`${e}Buffer`]=r,t.usedMemory+=r.byteLength}}updateTiles(t){const e=this._changedSamplesthis._params.mediumTileSize?2:e>s?1:0}getViewDimension(t){if(this._virtualView.orthogonalDimension)return this._virtualView.orthogonalDimension;const e=this._virtualView.fov;return e!==this._temp.pastFieldOfview&&(this._temp.viewDimension=this.getPerspTrueDim(e,1),this._temp.pastFieldOfview=e),t*this._temp.viewDimension}loadTile(t,e){const s=this.getTileData(e);this.fetchTileMatrixOnLoad(e);const i=this.getFaceIds(e);this._meshConnection.process({tileRequestClass:Di.CREATE,modelId:this._modelId,objectClass:e.objectClass,tileId:t,itemId:void 0,tileData:s,indices:e.indexBuffer,positions:e.positionBuffer,normals:e.normalBuffer,faceIds:i,itemIds:e.ids,material:e.materialId,matrix:this._temp.matrix.clone(),aabb:e.box.clone(),currentLod:e.lod}),this.updateMemoryOnTileLoad(e)}getFaceIds(t){const e=new Os,s=t.faceIdBuffer,i=new Float32Array(3*s.length);for(let t=0;t(t[t.CREATE_MATERIAL=0]="CREATE_MATERIAL",t[t.CREATE_REPRESENTATION=1]="CREATE_REPRESENTATION",t[t.CREATE_SAMPLE=2]="CREATE_SAMPLE",t[t.CREATE_GLOBAL_TRANSFORM=3]="CREATE_GLOBAL_TRANSFORM",t[t.CREATE_LOCAL_TRANSFORM=4]="CREATE_LOCAL_TRANSFORM",t[t.CREATE_ITEM=5]="CREATE_ITEM",t[t.CREATE_RELATION=6]="CREATE_RELATION",t[t.UPDATE_MATERIAL=7]="UPDATE_MATERIAL",t[t.UPDATE_REPRESENTATION=8]="UPDATE_REPRESENTATION",t[t.UPDATE_SAMPLE=9]="UPDATE_SAMPLE",t[t.UPDATE_GLOBAL_TRANSFORM=10]="UPDATE_GLOBAL_TRANSFORM",t[t.UPDATE_LOCAL_TRANSFORM=11]="UPDATE_LOCAL_TRANSFORM",t[t.UPDATE_ITEM=12]="UPDATE_ITEM",t[t.UPDATE_MAX_LOCAL_ID=13]="UPDATE_MAX_LOCAL_ID",t[t.UPDATE_RELATION=14]="UPDATE_RELATION",t[t.UPDATE_METADATA=15]="UPDATE_METADATA",t[t.UPDATE_SPATIAL_STRUCTURE=16]="UPDATE_SPATIAL_STRUCTURE",t[t.DELETE_MATERIAL=17]="DELETE_MATERIAL",t[t.DELETE_REPRESENTATION=18]="DELETE_REPRESENTATION",t[t.DELETE_SAMPLE=19]="DELETE_SAMPLE",t[t.DELETE_GLOBAL_TRANSFORM=20]="DELETE_GLOBAL_TRANSFORM",t[t.DELETE_LOCAL_TRANSFORM=21]="DELETE_LOCAL_TRANSFORM",t[t.DELETE_ITEM=22]="DELETE_ITEM",t[t.DELETE_RELATION=23]="DELETE_RELATION",t))(cu||{});function lu(t,e){const s=t.position,i=t.xDirection,r=t.yDirection;return ml.createTransform(e,s[0],s[1],s[2],i[0],i[1],i[2],r[0],r[1],r[2])}function pu(t,e){const s=e.position(),i=e.xDirection(),r=e.yDirection();return ml.createTransform(t,s.x(),s.y(),s.z(),i.x(),i.y(),i.z(),r.x(),r.y(),r.z())}function uu(t,e){return nl.createFloatVector(t,e.x(),e.y(),e.z())}function Eu(t,e){const s=e.type,i=[],r=[],n=[],a=[],o=e.points.length;Dl.startPointsVector(t,o);for(let s=0;s{const e=[];for(const s in t.data){const i=t.data[s].filter((t=>!K.has(t)));if(!i.length)continue;const r=Yt.createSharedString(JSON.stringify([s,...i]));e.push(r)}const s=Sl.createDataVector(Yt,e),i=Sl.createRelation(Yt,s);xe.push(i)};for(let e=0;e=0;e--){const i=t[e];if(i.type===s)return JSON.parse(JSON.stringify(i.data))}return null})),at(xu,"applyChangesToIds",(function(t,e,s,i){const r=new Set(e),n=cu[`DELETE_${s}`],a=cu[`CREATE_${s}`];if(t){for(const e of t)e.type!==n?i&&e.type===a&&r.add(e.localId):r.delete(e.localId);return Array.from(r)}return e})),at(xu,"getModelFromBuffer",(function(t,e){const s=new so(e?t:Ka.inflate(t));return vl.getRootAsModel(s)})),at(xu,"getSampleData",mu),at(xu,"getTransformData",Au),at(xu,"getRelationData",(function(t){const e={data:{}},s=t.dataLength();for(let i=0;iBu(t,e))),e.typecode?Hu[t][e.typecode](e.value):e.value}if(Hu[0]={3699917729:t=>new _u.IfcAbsorbedDoseMeasure(t),4182062534:t=>new _u.IfcAccelerationMeasure(t),360377573:t=>new _u.IfcAmountOfSubstanceMeasure(t),632304761:t=>new _u.IfcAngularVelocityMeasure(t),2650437152:t=>new _u.IfcAreaMeasure(t),2735952531:t=>new _u.IfcBoolean(t),1867003952:t=>new _u.IfcBoxAlignment(t),2991860651:t=>new _u.IfcComplexNumber(t.map((t=>t.value))),3812528620:t=>new _u.IfcCompoundPlaneAngleMeasure(t.map((t=>t.value))),3238673880:t=>new _u.IfcContextDependentMeasure(t),1778710042:t=>new _u.IfcCountMeasure(t),94842927:t=>new _u.IfcCurvatureMeasure(t),86635668:t=>new _u.IfcDayInMonthNumber(t),300323983:t=>new _u.IfcDaylightSavingHour(t),1514641115:t=>new _u.IfcDescriptiveMeasure(t),4134073009:t=>new _u.IfcDimensionCount(t),524656162:t=>new _u.IfcDoseEquivalentMeasure(t),69416015:t=>new _u.IfcDynamicViscosityMeasure(t),1827137117:t=>new _u.IfcElectricCapacitanceMeasure(t),3818826038:t=>new _u.IfcElectricChargeMeasure(t),2093906313:t=>new _u.IfcElectricConductanceMeasure(t),3790457270:t=>new _u.IfcElectricCurrentMeasure(t),2951915441:t=>new _u.IfcElectricResistanceMeasure(t),2506197118:t=>new _u.IfcElectricVoltageMeasure(t),2078135608:t=>new _u.IfcEnergyMeasure(t),1102727119:t=>new _u.IfcFontStyle(t),2715512545:t=>new _u.IfcFontVariant(t),2590844177:t=>new _u.IfcFontWeight(t),1361398929:t=>new _u.IfcForceMeasure(t),3044325142:t=>new _u.IfcFrequencyMeasure(t),3064340077:t=>new _u.IfcGloballyUniqueId(t),3113092358:t=>new _u.IfcHeatFluxDensityMeasure(t),1158859006:t=>new _u.IfcHeatingValueMeasure(t),2589826445:t=>new _u.IfcHourInDay(t),983778844:t=>new _u.IfcIdentifier(t),3358199106:t=>new _u.IfcIlluminanceMeasure(t),2679005408:t=>new _u.IfcInductanceMeasure(t),1939436016:t=>new _u.IfcInteger(t),3809634241:t=>new _u.IfcIntegerCountRateMeasure(t),3686016028:t=>new _u.IfcIonConcentrationMeasure(t),3192672207:t=>new _u.IfcIsothermalMoistureCapacityMeasure(t),2054016361:t=>new _u.IfcKinematicViscosityMeasure(t),3258342251:t=>new _u.IfcLabel(t),1243674935:t=>new _u.IfcLengthMeasure(t),191860431:t=>new _u.IfcLinearForceMeasure(t),2128979029:t=>new _u.IfcLinearMomentMeasure(t),1307019551:t=>new _u.IfcLinearStiffnessMeasure(t),3086160713:t=>new _u.IfcLinearVelocityMeasure(t),503418787:t=>new _u.IfcLogical(t),2095003142:t=>new _u.IfcLuminousFluxMeasure(t),2755797622:t=>new _u.IfcLuminousIntensityDistributionMeasure(t),151039812:t=>new _u.IfcLuminousIntensityMeasure(t),286949696:t=>new _u.IfcMagneticFluxDensityMeasure(t),2486716878:t=>new _u.IfcMagneticFluxMeasure(t),1477762836:t=>new _u.IfcMassDensityMeasure(t),4017473158:t=>new _u.IfcMassFlowRateMeasure(t),3124614049:t=>new _u.IfcMassMeasure(t),3531705166:t=>new _u.IfcMassPerLengthMeasure(t),102610177:t=>new _u.IfcMinuteInHour(t),3341486342:t=>new _u.IfcModulusOfElasticityMeasure(t),2173214787:t=>new _u.IfcModulusOfLinearSubgradeReactionMeasure(t),1052454078:t=>new _u.IfcModulusOfRotationalSubgradeReactionMeasure(t),1753493141:t=>new _u.IfcModulusOfSubgradeReactionMeasure(t),3177669450:t=>new _u.IfcMoistureDiffusivityMeasure(t),1648970520:t=>new _u.IfcMolecularWeightMeasure(t),3114022597:t=>new _u.IfcMomentOfInertiaMeasure(t),2615040989:t=>new _u.IfcMonetaryMeasure(t),765770214:t=>new _u.IfcMonthInYearNumber(t),2095195183:t=>new _u.IfcNormalisedRatioMeasure(t),2395907400:t=>new _u.IfcNumericMeasure(t),929793134:t=>new _u.IfcPHMeasure(t),2260317790:t=>new _u.IfcParameterValue(t),2642773653:t=>new _u.IfcPlanarForceMeasure(t),4042175685:t=>new _u.IfcPlaneAngleMeasure(t),2815919920:t=>new _u.IfcPositiveLengthMeasure(t),3054510233:t=>new _u.IfcPositivePlaneAngleMeasure(t),1245737093:t=>new _u.IfcPositiveRatioMeasure(t),1364037233:t=>new _u.IfcPowerMeasure(t),2169031380:t=>new _u.IfcPresentableText(t),3665567075:t=>new _u.IfcPressureMeasure(t),3972513137:t=>new _u.IfcRadioActivityMeasure(t),96294661:t=>new _u.IfcRatioMeasure(t),200335297:t=>new _u.IfcReal(t),2133746277:t=>new _u.IfcRotationalFrequencyMeasure(t),1755127002:t=>new _u.IfcRotationalMassMeasure(t),3211557302:t=>new _u.IfcRotationalStiffnessMeasure(t),2766185779:t=>new _u.IfcSecondInMinute(t),3467162246:t=>new _u.IfcSectionModulusMeasure(t),2190458107:t=>new _u.IfcSectionalAreaIntegralMeasure(t),408310005:t=>new _u.IfcShearModulusMeasure(t),3471399674:t=>new _u.IfcSolidAngleMeasure(t),846465480:t=>new _u.IfcSoundPowerMeasure(t),993287707:t=>new _u.IfcSoundPressureMeasure(t),3477203348:t=>new _u.IfcSpecificHeatCapacityMeasure(t),2757832317:t=>new _u.IfcSpecularExponent(t),361837227:t=>new _u.IfcSpecularRoughness(t),58845555:t=>new _u.IfcTemperatureGradientMeasure(t),2801250643:t=>new _u.IfcText(t),1460886941:t=>new _u.IfcTextAlignment(t),3490877962:t=>new _u.IfcTextDecoration(t),603696268:t=>new _u.IfcTextFontName(t),296282323:t=>new _u.IfcTextTransformation(t),232962298:t=>new _u.IfcThermalAdmittanceMeasure(t),2645777649:t=>new _u.IfcThermalConductivityMeasure(t),2281867870:t=>new _u.IfcThermalExpansionCoefficientMeasure(t),857959152:t=>new _u.IfcThermalResistanceMeasure(t),2016195849:t=>new _u.IfcThermalTransmittanceMeasure(t),743184107:t=>new _u.IfcThermodynamicTemperatureMeasure(t),2726807636:t=>new _u.IfcTimeMeasure(t),2591213694:t=>new _u.IfcTimeStamp(t),1278329552:t=>new _u.IfcTorqueMeasure(t),3345633955:t=>new _u.IfcVaporPermeabilityMeasure(t),3458127941:t=>new _u.IfcVolumeMeasure(t),2593997549:t=>new _u.IfcVolumetricFlowRateMeasure(t),51269191:t=>new _u.IfcWarpingConstantMeasure(t),1718600412:t=>new _u.IfcWarpingMomentMeasure(t),4065007721:t=>new _u.IfcYearNumber(t)},(t=>{t.IfcAbsorbedDoseMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCABSORBEDDOSEMEASURE"}};t.IfcAccelerationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCACCELERATIONMEASURE"}};t.IfcAmountOfSubstanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAMOUNTOFSUBSTANCEMEASURE"}};t.IfcAngularVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCANGULARVELOCITYMEASURE"}};t.IfcAreaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAREAMEASURE"}};t.IfcBoolean=class{constructor(t){this.type=3,this.name="IFCBOOLEAN",this.value=t}};t.IfcBoxAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCBOXALIGNMENT"}};t.IfcComplexNumber=class{constructor(t){this.value=t,this.type=4}};t.IfcCompoundPlaneAngleMeasure=class{constructor(t){this.value=t,this.type=10}};t.IfcContextDependentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCONTEXTDEPENDENTMEASURE"}};t.IfcCountMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCOUNTMEASURE"}};t.IfcCurvatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCURVATUREMEASURE"}};t.IfcDayInMonthNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINMONTHNUMBER"}};t.IfcDaylightSavingHour=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYLIGHTSAVINGHOUR"}};t.IfcDescriptiveMeasure=class{constructor(t){this.value=t,this.type=1,this.name="IFCDESCRIPTIVEMEASURE"}};class e extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDIMENSIONCOUNT"}}t.IfcDimensionCount=e;t.IfcDoseEquivalentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDOSEEQUIVALENTMEASURE"}};t.IfcDynamicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDYNAMICVISCOSITYMEASURE"}};t.IfcElectricCapacitanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCAPACITANCEMEASURE"}};t.IfcElectricChargeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCHARGEMEASURE"}};t.IfcElectricConductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCONDUCTANCEMEASURE"}};t.IfcElectricCurrentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCURRENTMEASURE"}};t.IfcElectricResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICRESISTANCEMEASURE"}};t.IfcElectricVoltageMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICVOLTAGEMEASURE"}};t.IfcEnergyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCENERGYMEASURE"}};t.IfcFontStyle=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTSTYLE"}};t.IfcFontVariant=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTVARIANT"}};t.IfcFontWeight=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTWEIGHT"}};t.IfcForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFORCEMEASURE"}};t.IfcFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFREQUENCYMEASURE"}};t.IfcGloballyUniqueId=class{constructor(t){this.value=t,this.type=1,this.name="IFCGLOBALLYUNIQUEID"}};t.IfcHeatFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATFLUXDENSITYMEASURE"}};t.IfcHeatingValueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATINGVALUEMEASURE"}};t.IfcHourInDay=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCHOURINDAY"}};t.IfcIdentifier=class{constructor(t){this.value=t,this.type=1,this.name="IFCIDENTIFIER"}};t.IfcIlluminanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCILLUMINANCEMEASURE"}};t.IfcInductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCINDUCTANCEMEASURE"}};t.IfcInteger=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGER"}};t.IfcIntegerCountRateMeasure=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGERCOUNTRATEMEASURE"}};t.IfcIonConcentrationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCIONCONCENTRATIONMEASURE"}};t.IfcIsothermalMoistureCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCISOTHERMALMOISTURECAPACITYMEASURE"}};t.IfcKinematicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCKINEMATICVISCOSITYMEASURE"}};t.IfcLabel=class{constructor(t){this.value=t,this.type=1,this.name="IFCLABEL"}};t.IfcLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLENGTHMEASURE"}};t.IfcLinearForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARFORCEMEASURE"}};t.IfcLinearMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARMOMENTMEASURE"}};t.IfcLinearStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARSTIFFNESSMEASURE"}};t.IfcLinearVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARVELOCITYMEASURE"}};t.IfcLogical=class{constructor(t){this.type=3,this.name="IFCLOGICAL",this.value=t}};t.IfcLuminousFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSFLUXMEASURE"}};t.IfcLuminousIntensityDistributionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE"}};t.IfcLuminousIntensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYMEASURE"}};t.IfcMagneticFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXDENSITYMEASURE"}};t.IfcMagneticFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXMEASURE"}};t.IfcMassDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSDENSITYMEASURE"}};t.IfcMassFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSFLOWRATEMEASURE"}};t.IfcMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSMEASURE"}};t.IfcMassPerLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSPERLENGTHMEASURE"}};t.IfcMinuteInHour=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCMINUTEINHOUR"}};t.IfcModulusOfElasticityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFELASTICITYMEASURE"}};t.IfcModulusOfLinearSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfRotationalSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFSUBGRADEREACTIONMEASURE"}};t.IfcMoistureDiffusivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOISTUREDIFFUSIVITYMEASURE"}};t.IfcMolecularWeightMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOLECULARWEIGHTMEASURE"}};t.IfcMomentOfInertiaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOMENTOFINERTIAMEASURE"}};t.IfcMonetaryMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMONETARYMEASURE"}};t.IfcMonthInYearNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCMONTHINYEARNUMBER"}};t.IfcNormalisedRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNORMALISEDRATIOMEASURE"}};t.IfcNumericMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNUMERICMEASURE"}};t.IfcPHMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPHMEASURE"}};t.IfcParameterValue=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPARAMETERVALUE"}};t.IfcPlanarForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANARFORCEMEASURE"}};t.IfcPlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANEANGLEMEASURE"}};t.IfcPositiveLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVELENGTHMEASURE"}};t.IfcPositivePlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVEPLANEANGLEMEASURE"}};t.IfcPositiveRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVERATIOMEASURE"}};t.IfcPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOWERMEASURE"}};t.IfcPresentableText=class{constructor(t){this.value=t,this.type=1,this.name="IFCPRESENTABLETEXT"}};t.IfcPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPRESSUREMEASURE"}};t.IfcRadioActivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRADIOACTIVITYMEASURE"}};t.IfcRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRATIOMEASURE"}};t.IfcReal=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCREAL"}};t.IfcRotationalFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALFREQUENCYMEASURE"}};t.IfcRotationalMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALMASSMEASURE"}};t.IfcRotationalStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALSTIFFNESSMEASURE"}};t.IfcSecondInMinute=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECONDINMINUTE"}};t.IfcSectionModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONMODULUSMEASURE"}};t.IfcSectionalAreaIntegralMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONALAREAINTEGRALMEASURE"}};t.IfcShearModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSHEARMODULUSMEASURE"}};t.IfcSolidAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOLIDANGLEMEASURE"}};t.IfcSoundPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERMEASURE"}};t.IfcSoundPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSUREMEASURE"}};t.IfcSpecificHeatCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECIFICHEATCAPACITYMEASURE"}};t.IfcSpecularExponent=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULAREXPONENT"}};t.IfcSpecularRoughness=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULARROUGHNESS"}};t.IfcTemperatureGradientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATUREGRADIENTMEASURE"}};t.IfcText=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXT"}};t.IfcTextAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTALIGNMENT"}};t.IfcTextDecoration=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTDECORATION"}};t.IfcTextFontName=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTFONTNAME"}};t.IfcTextTransformation=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTTRANSFORMATION"}};t.IfcThermalAdmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALADMITTANCEMEASURE"}};t.IfcThermalConductivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALCONDUCTIVITYMEASURE"}};t.IfcThermalExpansionCoefficientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALEXPANSIONCOEFFICIENTMEASURE"}};t.IfcThermalResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALRESISTANCEMEASURE"}};t.IfcThermalTransmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALTRANSMITTANCEMEASURE"}};t.IfcThermodynamicTemperatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMODYNAMICTEMPERATUREMEASURE"}};t.IfcTimeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTIMEMEASURE"}};t.IfcTimeStamp=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCTIMESTAMP"}};t.IfcTorqueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTORQUEMEASURE"}};t.IfcVaporPermeabilityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVAPORPERMEABILITYMEASURE"}};t.IfcVolumeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMEMEASURE"}};t.IfcVolumetricFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMETRICFLOWRATEMEASURE"}};t.IfcWarpingConstantMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGCONSTANTMEASURE"}};t.IfcWarpingMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGMOMENTMEASURE"}};t.IfcYearNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCYEARNUMBER"}};const s=class{};s.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},s.COMPLETION_G1={type:3,value:"COMPLETION_G1"},s.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},s.SNOW_S={type:3,value:"SNOW_S"},s.WIND_W={type:3,value:"WIND_W"},s.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},s.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},s.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},s.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},s.FIRE={type:3,value:"FIRE"},s.IMPULSE={type:3,value:"IMPULSE"},s.IMPACT={type:3,value:"IMPACT"},s.TRANSPORT={type:3,value:"TRANSPORT"},s.ERECTION={type:3,value:"ERECTION"},s.PROPPING={type:3,value:"PROPPING"},s.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},s.SHRINKAGE={type:3,value:"SHRINKAGE"},s.CREEP={type:3,value:"CREEP"},s.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},s.BUOYANCY={type:3,value:"BUOYANCY"},s.ICE={type:3,value:"ICE"},s.CURRENT={type:3,value:"CURRENT"},s.WAVE={type:3,value:"WAVE"},s.RAIN={type:3,value:"RAIN"},s.BRAKES={type:3,value:"BRAKES"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"};let i=s;t.IfcActionSourceTypeEnum=i;const r=class{};r.PERMANENT_G={type:3,value:"PERMANENT_G"},r.VARIABLE_Q={type:3,value:"VARIABLE_Q"},r.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"};let n=r;t.IfcActionTypeEnum=n;const a=class{};a.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},a.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},a.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},a.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},a.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"};let o=a;t.IfcActuatorTypeEnum=o;const h=class{};h.OFFICE={type:3,value:"OFFICE"},h.SITE={type:3,value:"SITE"},h.HOME={type:3,value:"HOME"},h.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},h.USERDEFINED={type:3,value:"USERDEFINED"};let c=h;t.IfcAddressTypeEnum=c;const l=class{};l.AHEAD={type:3,value:"AHEAD"},l.BEHIND={type:3,value:"BEHIND"};let p=l;t.IfcAheadOrBehind=p;const u=class{};u.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},u.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},u.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"};let E=u;t.IfcAirTerminalBoxTypeEnum=E;const I=class{};I.GRILLE={type:3,value:"GRILLE"},I.REGISTER={type:3,value:"REGISTER"},I.DIFFUSER={type:3,value:"DIFFUSER"},I.EYEBALL={type:3,value:"EYEBALL"},I.IRIS={type:3,value:"IRIS"},I.LINEARGRILLE={type:3,value:"LINEARGRILLE"},I.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"},I.USERDEFINED={type:3,value:"USERDEFINED"},I.NOTDEFINED={type:3,value:"NOTDEFINED"};let y=I;t.IfcAirTerminalTypeEnum=y;const T=class{};T.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},T.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},T.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},T.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},T.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},T.HEATPIPE={type:3,value:"HEATPIPE"},T.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},T.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},T.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"};let d=T;t.IfcAirToAirHeatRecoveryTypeEnum=d;const N=class{};N.BELL={type:3,value:"BELL"},N.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},N.LIGHT={type:3,value:"LIGHT"},N.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},N.SIREN={type:3,value:"SIREN"},N.WHISTLE={type:3,value:"WHISTLE"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"};let R=N;t.IfcAlarmTypeEnum=R;const f=class{};f.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},f.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},f.LOADING_3D={type:3,value:"LOADING_3D"},f.USERDEFINED={type:3,value:"USERDEFINED"},f.NOTDEFINED={type:3,value:"NOTDEFINED"};let O=f;t.IfcAnalysisModelTypeEnum=O;const D=class{};D.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},D.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},D.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},D.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},D.USERDEFINED={type:3,value:"USERDEFINED"},D.NOTDEFINED={type:3,value:"NOTDEFINED"};let m=D;t.IfcAnalysisTheoryTypeEnum=m;const A=class{};A.ADD={type:3,value:"ADD"},A.DIVIDE={type:3,value:"DIVIDE"},A.MULTIPLY={type:3,value:"MULTIPLY"},A.SUBTRACT={type:3,value:"SUBTRACT"};let S=A;t.IfcArithmeticOperatorEnum=S;const C=class{};C.SITE={type:3,value:"SITE"},C.FACTORY={type:3,value:"FACTORY"},C.NOTDEFINED={type:3,value:"NOTDEFINED"};let v=C;t.IfcAssemblyPlaceEnum=v;const L=class{};L.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},L.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},L.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},L.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},L.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},L.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let b=L;t.IfcBSplineCurveForm=b;const P=class{};P.BEAM={type:3,value:"BEAM"},P.JOIST={type:3,value:"JOIST"},P.LINTEL={type:3,value:"LINTEL"},P.T_BEAM={type:3,value:"T_BEAM"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"};let g=P;t.IfcBeamTypeEnum=g;const x=class{};x.GREATERTHAN={type:3,value:"GREATERTHAN"},x.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},x.LESSTHAN={type:3,value:"LESSTHAN"},x.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},x.EQUALTO={type:3,value:"EQUALTO"},x.NOTEQUALTO={type:3,value:"NOTEQUALTO"};let _=x;t.IfcBenchmarkEnum=_;const M=class{};M.WATER={type:3,value:"WATER"},M.STEAM={type:3,value:"STEAM"},M.USERDEFINED={type:3,value:"USERDEFINED"},M.NOTDEFINED={type:3,value:"NOTDEFINED"};let F=M;t.IfcBoilerTypeEnum=F;const U=class{};U.UNION={type:3,value:"UNION"},U.INTERSECTION={type:3,value:"INTERSECTION"},U.DIFFERENCE={type:3,value:"DIFFERENCE"};let w=U;t.IfcBooleanOperator=w;const G=class{};G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"};let H=G;t.IfcBuildingElementProxyTypeEnum=H;const B=class{};B.BEND={type:3,value:"BEND"},B.CROSS={type:3,value:"CROSS"},B.REDUCER={type:3,value:"REDUCER"},B.TEE={type:3,value:"TEE"},B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"};let V=B;t.IfcCableCarrierFittingTypeEnum=V;const W=class{};W.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},W.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},W.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},W.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"};let j=W;t.IfcCableCarrierSegmentTypeEnum=j;const Y=class{};Y.CABLESEGMENT={type:3,value:"CABLESEGMENT"},Y.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"};let z=Y;t.IfcCableSegmentTypeEnum=z;const k=class{};k.NOCHANGE={type:3,value:"NOCHANGE"},k.MODIFIED={type:3,value:"MODIFIED"},k.ADDED={type:3,value:"ADDED"},k.DELETED={type:3,value:"DELETED"},k.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"},k.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"};let X=k;t.IfcChangeActionEnum=X;const K=class{};K.AIRCOOLED={type:3,value:"AIRCOOLED"},K.WATERCOOLED={type:3,value:"WATERCOOLED"},K.HEATRECOVERY={type:3,value:"HEATRECOVERY"},K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"};let Z=K;t.IfcChillerTypeEnum=Z;const q=class{};q.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},q.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},q.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},q.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},q.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},q.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"};let Q=q;t.IfcCoilTypeEnum=Q;const J=class{};J.COLUMN={type:3,value:"COLUMN"},J.USERDEFINED={type:3,value:"USERDEFINED"},J.NOTDEFINED={type:3,value:"NOTDEFINED"};let $=J;t.IfcColumnTypeEnum=$;const tt=class{};tt.DYNAMIC={type:3,value:"DYNAMIC"},tt.RECIPROCATING={type:3,value:"RECIPROCATING"},tt.ROTARY={type:3,value:"ROTARY"},tt.SCROLL={type:3,value:"SCROLL"},tt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},tt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},tt.BOOSTER={type:3,value:"BOOSTER"},tt.OPENTYPE={type:3,value:"OPENTYPE"},tt.HERMETIC={type:3,value:"HERMETIC"},tt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},tt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},tt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},tt.ROTARYVANE={type:3,value:"ROTARYVANE"},tt.SINGLESCREW={type:3,value:"SINGLESCREW"},tt.TWINSCREW={type:3,value:"TWINSCREW"},tt.USERDEFINED={type:3,value:"USERDEFINED"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let et=tt;t.IfcCompressorTypeEnum=et;const st=class{};st.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},st.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},st.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},st.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},st.AIRCOOLED={type:3,value:"AIRCOOLED"},st.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"};let it=st;t.IfcCondenserTypeEnum=it;const rt=class{};rt.ATPATH={type:3,value:"ATPATH"},rt.ATSTART={type:3,value:"ATSTART"},rt.ATEND={type:3,value:"ATEND"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"};let nt=rt;t.IfcConnectionTypeEnum=nt;const at=class{};at.HARD={type:3,value:"HARD"},at.SOFT={type:3,value:"SOFT"},at.ADVISORY={type:3,value:"ADVISORY"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"};let ot=at;t.IfcConstraintEnum=ot;const ht=class{};ht.FLOATING={type:3,value:"FLOATING"},ht.PROPORTIONAL={type:3,value:"PROPORTIONAL"},ht.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"},ht.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"},ht.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"},ht.TWOPOSITION={type:3,value:"TWOPOSITION"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let ct=ht;t.IfcControllerTypeEnum=ct;const lt=class{};lt.ACTIVE={type:3,value:"ACTIVE"},lt.PASSIVE={type:3,value:"PASSIVE"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let pt=lt;t.IfcCooledBeamTypeEnum=pt;const ut=class{};ut.NATURALDRAFT={type:3,value:"NATURALDRAFT"},ut.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},ut.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let Et=ut;t.IfcCoolingTowerTypeEnum=Et;const It=class{};It.BUDGET={type:3,value:"BUDGET"},It.COSTPLAN={type:3,value:"COSTPLAN"},It.ESTIMATE={type:3,value:"ESTIMATE"},It.TENDER={type:3,value:"TENDER"},It.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},It.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},It.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"};let yt=It;t.IfcCostScheduleTypeEnum=yt;const Tt=class{};Tt.CEILING={type:3,value:"CEILING"},Tt.FLOORING={type:3,value:"FLOORING"},Tt.CLADDING={type:3,value:"CLADDING"},Tt.ROOFING={type:3,value:"ROOFING"},Tt.INSULATION={type:3,value:"INSULATION"},Tt.MEMBRANE={type:3,value:"MEMBRANE"},Tt.SLEEVING={type:3,value:"SLEEVING"},Tt.WRAPPING={type:3,value:"WRAPPING"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let dt=Tt;t.IfcCoveringTypeEnum=dt;const Nt=class{};Nt.AED={type:3,value:"AED"},Nt.AES={type:3,value:"AES"},Nt.ATS={type:3,value:"ATS"},Nt.AUD={type:3,value:"AUD"},Nt.BBD={type:3,value:"BBD"},Nt.BEG={type:3,value:"BEG"},Nt.BGL={type:3,value:"BGL"},Nt.BHD={type:3,value:"BHD"},Nt.BMD={type:3,value:"BMD"},Nt.BND={type:3,value:"BND"},Nt.BRL={type:3,value:"BRL"},Nt.BSD={type:3,value:"BSD"},Nt.BWP={type:3,value:"BWP"},Nt.BZD={type:3,value:"BZD"},Nt.CAD={type:3,value:"CAD"},Nt.CBD={type:3,value:"CBD"},Nt.CHF={type:3,value:"CHF"},Nt.CLP={type:3,value:"CLP"},Nt.CNY={type:3,value:"CNY"},Nt.CYS={type:3,value:"CYS"},Nt.CZK={type:3,value:"CZK"},Nt.DDP={type:3,value:"DDP"},Nt.DEM={type:3,value:"DEM"},Nt.DKK={type:3,value:"DKK"},Nt.EGL={type:3,value:"EGL"},Nt.EST={type:3,value:"EST"},Nt.EUR={type:3,value:"EUR"},Nt.FAK={type:3,value:"FAK"},Nt.FIM={type:3,value:"FIM"},Nt.FJD={type:3,value:"FJD"},Nt.FKP={type:3,value:"FKP"},Nt.FRF={type:3,value:"FRF"},Nt.GBP={type:3,value:"GBP"},Nt.GIP={type:3,value:"GIP"},Nt.GMD={type:3,value:"GMD"},Nt.GRX={type:3,value:"GRX"},Nt.HKD={type:3,value:"HKD"},Nt.HUF={type:3,value:"HUF"},Nt.ICK={type:3,value:"ICK"},Nt.IDR={type:3,value:"IDR"},Nt.ILS={type:3,value:"ILS"},Nt.INR={type:3,value:"INR"},Nt.IRP={type:3,value:"IRP"},Nt.ITL={type:3,value:"ITL"},Nt.JMD={type:3,value:"JMD"},Nt.JOD={type:3,value:"JOD"},Nt.JPY={type:3,value:"JPY"},Nt.KES={type:3,value:"KES"},Nt.KRW={type:3,value:"KRW"},Nt.KWD={type:3,value:"KWD"},Nt.KYD={type:3,value:"KYD"},Nt.LKR={type:3,value:"LKR"},Nt.LUF={type:3,value:"LUF"},Nt.MTL={type:3,value:"MTL"},Nt.MUR={type:3,value:"MUR"},Nt.MXN={type:3,value:"MXN"},Nt.MYR={type:3,value:"MYR"},Nt.NLG={type:3,value:"NLG"},Nt.NZD={type:3,value:"NZD"},Nt.OMR={type:3,value:"OMR"},Nt.PGK={type:3,value:"PGK"},Nt.PHP={type:3,value:"PHP"},Nt.PKR={type:3,value:"PKR"},Nt.PLN={type:3,value:"PLN"},Nt.PTN={type:3,value:"PTN"},Nt.QAR={type:3,value:"QAR"},Nt.RUR={type:3,value:"RUR"},Nt.SAR={type:3,value:"SAR"},Nt.SCR={type:3,value:"SCR"},Nt.SEK={type:3,value:"SEK"},Nt.SGD={type:3,value:"SGD"},Nt.SKP={type:3,value:"SKP"},Nt.THB={type:3,value:"THB"},Nt.TRL={type:3,value:"TRL"},Nt.TTD={type:3,value:"TTD"},Nt.TWD={type:3,value:"TWD"},Nt.USD={type:3,value:"USD"},Nt.VEB={type:3,value:"VEB"},Nt.VND={type:3,value:"VND"},Nt.XEU={type:3,value:"XEU"},Nt.ZAR={type:3,value:"ZAR"},Nt.ZWD={type:3,value:"ZWD"},Nt.NOK={type:3,value:"NOK"};let Rt=Nt;t.IfcCurrencyEnum=Rt;const ft=class{};ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ot=ft;t.IfcCurtainWallTypeEnum=Ot;const Dt=class{};Dt.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Dt.FIREDAMPER={type:3,value:"FIREDAMPER"},Dt.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Dt.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Dt.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Dt.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Dt.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Dt.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Dt.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Dt.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Dt.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"};let mt=Dt;t.IfcDamperTypeEnum=mt;const At=class{};At.MEASURED={type:3,value:"MEASURED"},At.PREDICTED={type:3,value:"PREDICTED"},At.SIMULATED={type:3,value:"SIMULATED"},At.USERDEFINED={type:3,value:"USERDEFINED"},At.NOTDEFINED={type:3,value:"NOTDEFINED"};let St=At;t.IfcDataOriginEnum=St;const Ct=class{};Ct.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Ct.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Ct.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Ct.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Ct.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Ct.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Ct.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Ct.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Ct.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Ct.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Ct.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Ct.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Ct.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Ct.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Ct.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Ct.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Ct.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Ct.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Ct.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Ct.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Ct.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Ct.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Ct.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Ct.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Ct.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Ct.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Ct.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Ct.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Ct.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Ct.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Ct.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Ct.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Ct.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Ct.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Ct.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Ct.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Ct.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Ct.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Ct.PHUNIT={type:3,value:"PHUNIT"},Ct.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Ct.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Ct.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Ct.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Ct.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Ct.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Ct.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Ct.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Ct.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Ct.USERDEFINED={type:3,value:"USERDEFINED"};let vt=Ct;t.IfcDerivedUnitEnum=vt;const Lt=class{};Lt.ORIGIN={type:3,value:"ORIGIN"},Lt.TARGET={type:3,value:"TARGET"};let bt=Lt;t.IfcDimensionExtentUsage=bt;const Pt=class{};Pt.POSITIVE={type:3,value:"POSITIVE"},Pt.NEGATIVE={type:3,value:"NEGATIVE"};let gt=Pt;t.IfcDirectionSenseEnum=gt;const xt=class{};xt.FORMEDDUCT={type:3,value:"FORMEDDUCT"},xt.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},xt.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},xt.MANHOLE={type:3,value:"MANHOLE"},xt.METERCHAMBER={type:3,value:"METERCHAMBER"},xt.SUMP={type:3,value:"SUMP"},xt.TRENCH={type:3,value:"TRENCH"},xt.VALVECHAMBER={type:3,value:"VALVECHAMBER"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let _t=xt;t.IfcDistributionChamberElementTypeEnum=_t;const Mt=class{};Mt.PUBLIC={type:3,value:"PUBLIC"},Mt.RESTRICTED={type:3,value:"RESTRICTED"},Mt.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Mt.PERSONAL={type:3,value:"PERSONAL"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ft=Mt;t.IfcDocumentConfidentialityEnum=Ft;const Ut=class{};Ut.DRAFT={type:3,value:"DRAFT"},Ut.FINALDRAFT={type:3,value:"FINALDRAFT"},Ut.FINAL={type:3,value:"FINAL"},Ut.REVISION={type:3,value:"REVISION"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let wt=Ut;t.IfcDocumentStatusEnum=wt;const Gt=class{};Gt.SWINGING={type:3,value:"SWINGING"},Gt.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Gt.SLIDING={type:3,value:"SLIDING"},Gt.FOLDING={type:3,value:"FOLDING"},Gt.REVOLVING={type:3,value:"REVOLVING"},Gt.ROLLINGUP={type:3,value:"ROLLINGUP"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ht=Gt;t.IfcDoorPanelOperationEnum=Ht;const Bt=class{};Bt.LEFT={type:3,value:"LEFT"},Bt.MIDDLE={type:3,value:"MIDDLE"},Bt.RIGHT={type:3,value:"RIGHT"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vt=Bt;t.IfcDoorPanelPositionEnum=Vt;const Wt=class{};Wt.ALUMINIUM={type:3,value:"ALUMINIUM"},Wt.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Wt.STEEL={type:3,value:"STEEL"},Wt.WOOD={type:3,value:"WOOD"},Wt.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Wt.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Wt.PLASTIC={type:3,value:"PLASTIC"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"};let jt=Wt;t.IfcDoorStyleConstructionEnum=jt;const Yt=class{};Yt.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Yt.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Yt.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Yt.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Yt.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Yt.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Yt.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Yt.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Yt.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Yt.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Yt.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Yt.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Yt.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Yt.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Yt.REVOLVING={type:3,value:"REVOLVING"},Yt.ROLLINGUP={type:3,value:"ROLLINGUP"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"};let zt=Yt;t.IfcDoorStyleOperationEnum=zt;const kt=class{};kt.BEND={type:3,value:"BEND"},kt.CONNECTOR={type:3,value:"CONNECTOR"},kt.ENTRY={type:3,value:"ENTRY"},kt.EXIT={type:3,value:"EXIT"},kt.JUNCTION={type:3,value:"JUNCTION"},kt.OBSTRUCTION={type:3,value:"OBSTRUCTION"},kt.TRANSITION={type:3,value:"TRANSITION"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xt=kt;t.IfcDuctFittingTypeEnum=Xt;const Kt=class{};Kt.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Kt.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zt=Kt;t.IfcDuctSegmentTypeEnum=Zt;const qt=class{};qt.FLATOVAL={type:3,value:"FLATOVAL"},qt.RECTANGULAR={type:3,value:"RECTANGULAR"},qt.ROUND={type:3,value:"ROUND"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qt=qt;t.IfcDuctSilencerTypeEnum=Qt;const Jt=class{};Jt.COMPUTER={type:3,value:"COMPUTER"},Jt.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"},Jt.DISHWASHER={type:3,value:"DISHWASHER"},Jt.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Jt.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"},Jt.FACSIMILE={type:3,value:"FACSIMILE"},Jt.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Jt.FREEZER={type:3,value:"FREEZER"},Jt.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Jt.HANDDRYER={type:3,value:"HANDDRYER"},Jt.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"},Jt.MICROWAVE={type:3,value:"MICROWAVE"},Jt.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Jt.PRINTER={type:3,value:"PRINTER"},Jt.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Jt.RADIANTHEATER={type:3,value:"RADIANTHEATER"},Jt.SCANNER={type:3,value:"SCANNER"},Jt.TELEPHONE={type:3,value:"TELEPHONE"},Jt.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Jt.TV={type:3,value:"TV"},Jt.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Jt.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Jt.WATERHEATER={type:3,value:"WATERHEATER"},Jt.WATERCOOLER={type:3,value:"WATERCOOLER"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $t=Jt;t.IfcElectricApplianceTypeEnum=$t;const te=class{};te.ALTERNATING={type:3,value:"ALTERNATING"},te.DIRECT={type:3,value:"DIRECT"},te.NOTDEFINED={type:3,value:"NOTDEFINED"};let ee=te;t.IfcElectricCurrentEnum=ee;const se=class{};se.ALARMPANEL={type:3,value:"ALARMPANEL"},se.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},se.CONTROLPANEL={type:3,value:"CONTROLPANEL"},se.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},se.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"},se.INDICATORPANEL={type:3,value:"INDICATORPANEL"},se.MIMICPANEL={type:3,value:"MIMICPANEL"},se.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},se.SWITCHBOARD={type:3,value:"SWITCHBOARD"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"};let ie=se;t.IfcElectricDistributionPointFunctionEnum=ie;const re=class{};re.BATTERY={type:3,value:"BATTERY"},re.CAPACITORBANK={type:3,value:"CAPACITORBANK"},re.HARMONICFILTER={type:3,value:"HARMONICFILTER"},re.INDUCTORBANK={type:3,value:"INDUCTORBANK"},re.UPS={type:3,value:"UPS"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"};let ne=re;t.IfcElectricFlowStorageDeviceTypeEnum=ne;const ae=class{};ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"};let oe=ae;t.IfcElectricGeneratorTypeEnum=oe;const he=class{};he.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"},he.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"},he.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"};let ce=he;t.IfcElectricHeaterTypeEnum=ce;const le=class{};le.DC={type:3,value:"DC"},le.INDUCTION={type:3,value:"INDUCTION"},le.POLYPHASE={type:3,value:"POLYPHASE"},le.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},le.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"};let pe=le;t.IfcElectricMotorTypeEnum=pe;const ue=class{};ue.TIMECLOCK={type:3,value:"TIMECLOCK"},ue.TIMEDELAY={type:3,value:"TIMEDELAY"},ue.RELAY={type:3,value:"RELAY"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ee=ue;t.IfcElectricTimeControlTypeEnum=Ee;const Ie=class{};Ie.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Ie.ARCH={type:3,value:"ARCH"},Ie.BEAM_GRID={type:3,value:"BEAM_GRID"},Ie.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Ie.GIRDER={type:3,value:"GIRDER"},Ie.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Ie.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Ie.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Ie.TRUSS={type:3,value:"TRUSS"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"};let ye=Ie;t.IfcElementAssemblyTypeEnum=ye;const Te=class{};Te.COMPLEX={type:3,value:"COMPLEX"},Te.ELEMENT={type:3,value:"ELEMENT"},Te.PARTIAL={type:3,value:"PARTIAL"};let de=Te;t.IfcElementCompositionEnum=de;const Ne=class{};Ne.PRIMARY={type:3,value:"PRIMARY"},Ne.SECONDARY={type:3,value:"SECONDARY"},Ne.TERTIARY={type:3,value:"TERTIARY"},Ne.AUXILIARY={type:3,value:"AUXILIARY"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"};let Re=Ne;t.IfcEnergySequenceEnum=Re;const fe=class{};fe.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"},fe.DISPOSAL={type:3,value:"DISPOSAL"},fe.EXTRACTION={type:3,value:"EXTRACTION"},fe.INSTALLATION={type:3,value:"INSTALLATION"},fe.MANUFACTURE={type:3,value:"MANUFACTURE"},fe.TRANSPORTATION={type:3,value:"TRANSPORTATION"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oe=fe;t.IfcEnvironmentalImpactCategoryEnum=Oe;const De=class{};De.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},De.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},De.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},De.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},De.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},De.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},De.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},De.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},De.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"};let me=De;t.IfcEvaporativeCoolerTypeEnum=me;const Ae=class{};Ae.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ae.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ae.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ae.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ae.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"};let Se=Ae;t.IfcEvaporatorTypeEnum=Se;const Ce=class{};Ce.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Ce.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Ce.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Ce.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Ce.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Ce.VANEAXIAL={type:3,value:"VANEAXIAL"},Ce.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"};let ve=Ce;t.IfcFanTypeEnum=ve;const Le=class{};Le.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Le.ODORFILTER={type:3,value:"ODORFILTER"},Le.OILFILTER={type:3,value:"OILFILTER"},Le.STRAINER={type:3,value:"STRAINER"},Le.WATERFILTER={type:3,value:"WATERFILTER"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"};let be=Le;t.IfcFilterTypeEnum=be;const Pe=class{};Pe.BREECHINGINLET={type:3,value:"BREECHINGINLET"},Pe.FIREHYDRANT={type:3,value:"FIREHYDRANT"},Pe.HOSEREEL={type:3,value:"HOSEREEL"},Pe.SPRINKLER={type:3,value:"SPRINKLER"},Pe.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"};let ge=Pe;t.IfcFireSuppressionTerminalTypeEnum=ge;const xe=class{};xe.SOURCE={type:3,value:"SOURCE"},xe.SINK={type:3,value:"SINK"},xe.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"};let _e=xe;t.IfcFlowDirectionEnum=_e;const Me=class{};Me.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Me.THERMOMETER={type:3,value:"THERMOMETER"},Me.AMMETER={type:3,value:"AMMETER"},Me.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Me.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Me.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Me.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Me.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fe=Me;t.IfcFlowInstrumentTypeEnum=Fe;const Ue=class{};Ue.ELECTRICMETER={type:3,value:"ELECTRICMETER"},Ue.ENERGYMETER={type:3,value:"ENERGYMETER"},Ue.FLOWMETER={type:3,value:"FLOWMETER"},Ue.GASMETER={type:3,value:"GASMETER"},Ue.OILMETER={type:3,value:"OILMETER"},Ue.WATERMETER={type:3,value:"WATERMETER"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let we=Ue;t.IfcFlowMeterTypeEnum=we;const Ge=class{};Ge.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Ge.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Ge.PILE_CAP={type:3,value:"PILE_CAP"},Ge.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"};let He=Ge;t.IfcFootingTypeEnum=He;const Be=class{};Be.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"},Be.GASBOOSTER={type:3,value:"GASBOOSTER"},Be.GASBURNER={type:3,value:"GASBURNER"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ve=Be;t.IfcGasTerminalTypeEnum=Ve;const We=class{};We.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},We.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},We.MODEL_VIEW={type:3,value:"MODEL_VIEW"},We.PLAN_VIEW={type:3,value:"PLAN_VIEW"},We.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},We.SECTION_VIEW={type:3,value:"SECTION_VIEW"},We.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"};let je=We;t.IfcGeometricProjectionEnum=je;const Ye=class{};Ye.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Ye.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};let ze=Ye;t.IfcGlobalOrLocalEnum=ze;const ke=class{};ke.PLATE={type:3,value:"PLATE"},ke.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xe=ke;t.IfcHeatExchangerTypeEnum=Xe;const Ke=class{};Ke.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Ke.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Ke.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Ke.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Ke.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Ke.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Ke.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Ke.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Ke.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Ke.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Ke.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Ke.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Ke.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ze=Ke;t.IfcHumidifierTypeEnum=Ze;const qe=class{};qe.INTERNAL={type:3,value:"INTERNAL"},qe.EXTERNAL={type:3,value:"EXTERNAL"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qe=qe;t.IfcInternalOrExternalEnum=Qe;const Je=class{};Je.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Je.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Je.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"};let $e=Je;t.IfcInventoryTypeEnum=$e;const ts=class{};ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let es=ts;t.IfcJunctionBoxTypeEnum=es;const ss=class{};ss.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},ss.FLUORESCENT={type:3,value:"FLUORESCENT"},ss.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},ss.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},ss.METALHALIDE={type:3,value:"METALHALIDE"},ss.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let is=ss;t.IfcLampTypeEnum=is;const rs=class{};rs.AXIS1={type:3,value:"AXIS1"},rs.AXIS2={type:3,value:"AXIS2"},rs.AXIS3={type:3,value:"AXIS3"};let ns=rs;t.IfcLayerSetDirectionEnum=ns;const as=class{};as.TYPE_A={type:3,value:"TYPE_A"},as.TYPE_B={type:3,value:"TYPE_B"},as.TYPE_C={type:3,value:"TYPE_C"},as.NOTDEFINED={type:3,value:"NOTDEFINED"};let os=as;t.IfcLightDistributionCurveEnum=os;const hs=class{};hs.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},hs.FLUORESCENT={type:3,value:"FLUORESCENT"},hs.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},hs.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},hs.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},hs.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},hs.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},hs.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},hs.METALHALIDE={type:3,value:"METALHALIDE"},hs.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let cs=hs;t.IfcLightEmissionSourceEnum=cs;const ls=class{};ls.POINTSOURCE={type:3,value:"POINTSOURCE"},ls.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let ps=ls;t.IfcLightFixtureTypeEnum=ps;const us=class{};us.LOAD_GROUP={type:3,value:"LOAD_GROUP"},us.LOAD_CASE={type:3,value:"LOAD_CASE"},us.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"},us.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"};let Es=us;t.IfcLoadGroupTypeEnum=Es;const Is=class{};Is.LOGICALAND={type:3,value:"LOGICALAND"},Is.LOGICALOR={type:3,value:"LOGICALOR"};let ys=Is;t.IfcLogicalOperatorEnum=ys;const Ts=class{};Ts.BRACE={type:3,value:"BRACE"},Ts.CHORD={type:3,value:"CHORD"},Ts.COLLAR={type:3,value:"COLLAR"},Ts.MEMBER={type:3,value:"MEMBER"},Ts.MULLION={type:3,value:"MULLION"},Ts.PLATE={type:3,value:"PLATE"},Ts.POST={type:3,value:"POST"},Ts.PURLIN={type:3,value:"PURLIN"},Ts.RAFTER={type:3,value:"RAFTER"},Ts.STRINGER={type:3,value:"STRINGER"},Ts.STRUT={type:3,value:"STRUT"},Ts.STUD={type:3,value:"STUD"},Ts.USERDEFINED={type:3,value:"USERDEFINED"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let ds=Ts;t.IfcMemberTypeEnum=ds;const Ns=class{};Ns.BELTDRIVE={type:3,value:"BELTDRIVE"},Ns.COUPLING={type:3,value:"COUPLING"},Ns.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},Ns.USERDEFINED={type:3,value:"USERDEFINED"},Ns.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rs=Ns;t.IfcMotorConnectionTypeEnum=Rs;const fs=class{};fs.NULL={type:3,value:"NULL"};let Os=fs;t.IfcNullStyle=Os;const Ds=class{};Ds.PRODUCT={type:3,value:"PRODUCT"},Ds.PROCESS={type:3,value:"PROCESS"},Ds.CONTROL={type:3,value:"CONTROL"},Ds.RESOURCE={type:3,value:"RESOURCE"},Ds.ACTOR={type:3,value:"ACTOR"},Ds.GROUP={type:3,value:"GROUP"},Ds.PROJECT={type:3,value:"PROJECT"},Ds.NOTDEFINED={type:3,value:"NOTDEFINED"};let ms=Ds;t.IfcObjectTypeEnum=ms;const As=class{};As.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},As.DESIGNINTENT={type:3,value:"DESIGNINTENT"},As.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},As.REQUIREMENT={type:3,value:"REQUIREMENT"},As.SPECIFICATION={type:3,value:"SPECIFICATION"},As.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ss=As;t.IfcObjectiveEnum=Ss;const Cs=class{};Cs.ASSIGNEE={type:3,value:"ASSIGNEE"},Cs.ASSIGNOR={type:3,value:"ASSIGNOR"},Cs.LESSEE={type:3,value:"LESSEE"},Cs.LESSOR={type:3,value:"LESSOR"},Cs.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Cs.OWNER={type:3,value:"OWNER"},Cs.TENANT={type:3,value:"TENANT"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let vs=Cs;t.IfcOccupantTypeEnum=vs;const Ls=class{};Ls.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Ls.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Ls.POWEROUTLET={type:3,value:"POWEROUTLET"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let bs=Ls;t.IfcOutletTypeEnum=bs;const Ps=class{};Ps.GRILL={type:3,value:"GRILL"},Ps.LOUVER={type:3,value:"LOUVER"},Ps.SCREEN={type:3,value:"SCREEN"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"};let gs=Ps;t.IfcPermeableCoveringOperationEnum=gs;const xs=class{};xs.PHYSICAL={type:3,value:"PHYSICAL"},xs.VIRTUAL={type:3,value:"VIRTUAL"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"};let _s=xs;t.IfcPhysicalOrVirtualEnum=_s;const Ms=class{};Ms.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Ms.COMPOSITE={type:3,value:"COMPOSITE"},Ms.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Ms.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fs=Ms;t.IfcPileConstructionEnum=Fs;const Us=class{};Us.COHESION={type:3,value:"COHESION"},Us.FRICTION={type:3,value:"FRICTION"},Us.SUPPORT={type:3,value:"SUPPORT"},Us.USERDEFINED={type:3,value:"USERDEFINED"},Us.NOTDEFINED={type:3,value:"NOTDEFINED"};let ws=Us;t.IfcPileTypeEnum=ws;const Gs=class{};Gs.BEND={type:3,value:"BEND"},Gs.CONNECTOR={type:3,value:"CONNECTOR"},Gs.ENTRY={type:3,value:"ENTRY"},Gs.EXIT={type:3,value:"EXIT"},Gs.JUNCTION={type:3,value:"JUNCTION"},Gs.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Gs.TRANSITION={type:3,value:"TRANSITION"},Gs.USERDEFINED={type:3,value:"USERDEFINED"},Gs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hs=Gs;t.IfcPipeFittingTypeEnum=Hs;const Bs=class{};Bs.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Bs.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Bs.GUTTER={type:3,value:"GUTTER"},Bs.SPOOL={type:3,value:"SPOOL"},Bs.USERDEFINED={type:3,value:"USERDEFINED"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vs=Bs;t.IfcPipeSegmentTypeEnum=Vs;const Ws=class{};Ws.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Ws.SHEET={type:3,value:"SHEET"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"};let js=Ws;t.IfcPlateTypeEnum=js;const Ys=class{};Ys.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Ys.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Ys.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Ys.CALIBRATION={type:3,value:"CALIBRATION"},Ys.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Ys.SHUTDOWN={type:3,value:"SHUTDOWN"},Ys.STARTUP={type:3,value:"STARTUP"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"};let zs=Ys;t.IfcProcedureTypeEnum=zs;const ks=class{};ks.CURVE={type:3,value:"CURVE"},ks.AREA={type:3,value:"AREA"};let Xs=ks;t.IfcProfileTypeEnum=Xs;const Ks=class{};Ks.CHANGE={type:3,value:"CHANGE"},Ks.MAINTENANCE={type:3,value:"MAINTENANCE"},Ks.MOVE={type:3,value:"MOVE"},Ks.PURCHASE={type:3,value:"PURCHASE"},Ks.WORK={type:3,value:"WORK"},Ks.USERDEFINED={type:3,value:"USERDEFINED"},Ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zs=Ks;t.IfcProjectOrderRecordTypeEnum=Zs;const qs=class{};qs.CHANGEORDER={type:3,value:"CHANGEORDER"},qs.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},qs.MOVEORDER={type:3,value:"MOVEORDER"},qs.PURCHASEORDER={type:3,value:"PURCHASEORDER"},qs.WORKORDER={type:3,value:"WORKORDER"},qs.USERDEFINED={type:3,value:"USERDEFINED"},qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qs=qs;t.IfcProjectOrderTypeEnum=Qs;const Js=class{};Js.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Js.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};let $s=Js;t.IfcProjectedOrTrueLengthEnum=$s;const ti=class{};ti.DESIGN={type:3,value:"DESIGN"},ti.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"},ti.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"},ti.SIMULATED={type:3,value:"SIMULATED"},ti.ASBUILT={type:3,value:"ASBUILT"},ti.COMMISSIONING={type:3,value:"COMMISSIONING"},ti.MEASURED={type:3,value:"MEASURED"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTKNOWN={type:3,value:"NOTKNOWN"};let ei=ti;t.IfcPropertySourceEnum=ei;const si=class{};si.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},si.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},si.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"},si.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},si.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},si.VARISTOR={type:3,value:"VARISTOR"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"};let ii=si;t.IfcProtectiveDeviceTypeEnum=ii;const ri=class{};ri.CIRCULATOR={type:3,value:"CIRCULATOR"},ri.ENDSUCTION={type:3,value:"ENDSUCTION"},ri.SPLITCASE={type:3,value:"SPLITCASE"},ri.VERTICALINLINE={type:3,value:"VERTICALINLINE"},ri.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"};let ni=ri;t.IfcPumpTypeEnum=ni;const ai=class{};ai.HANDRAIL={type:3,value:"HANDRAIL"},ai.GUARDRAIL={type:3,value:"GUARDRAIL"},ai.BALUSTRADE={type:3,value:"BALUSTRADE"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let oi=ai;t.IfcRailingTypeEnum=oi;const hi=class{};hi.STRAIGHT={type:3,value:"STRAIGHT"},hi.SPIRAL={type:3,value:"SPIRAL"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ci=hi;t.IfcRampFlightTypeEnum=ci;const li=class{};li.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},li.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},li.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},li.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},li.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},li.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"};let pi=li;t.IfcRampTypeEnum=pi;const ui=class{};ui.BLINN={type:3,value:"BLINN"},ui.FLAT={type:3,value:"FLAT"},ui.GLASS={type:3,value:"GLASS"},ui.MATT={type:3,value:"MATT"},ui.METAL={type:3,value:"METAL"},ui.MIRROR={type:3,value:"MIRROR"},ui.PHONG={type:3,value:"PHONG"},ui.PLASTIC={type:3,value:"PLASTIC"},ui.STRAUSS={type:3,value:"STRAUSS"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ei=ui;t.IfcReflectanceMethodEnum=Ei;const Ii=class{};Ii.MAIN={type:3,value:"MAIN"},Ii.SHEAR={type:3,value:"SHEAR"},Ii.LIGATURE={type:3,value:"LIGATURE"},Ii.STUD={type:3,value:"STUD"},Ii.PUNCHING={type:3,value:"PUNCHING"},Ii.EDGE={type:3,value:"EDGE"},Ii.RING={type:3,value:"RING"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let yi=Ii;t.IfcReinforcingBarRoleEnum=yi;const Ti=class{};Ti.PLAIN={type:3,value:"PLAIN"},Ti.TEXTURED={type:3,value:"TEXTURED"};let di=Ti;t.IfcReinforcingBarSurfaceEnum=di;const Ni=class{};Ni.CONSUMED={type:3,value:"CONSUMED"},Ni.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"},Ni.NOTCONSUMED={type:3,value:"NOTCONSUMED"},Ni.OCCUPIED={type:3,value:"OCCUPIED"},Ni.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"},Ni.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ri=Ni;t.IfcResourceConsumptionEnum=Ri;const fi=class{};fi.DIRECTION_X={type:3,value:"DIRECTION_X"},fi.DIRECTION_Y={type:3,value:"DIRECTION_Y"};let Oi=fi;t.IfcRibPlateDirectionEnum=Oi;const Di=class{};Di.SUPPLIER={type:3,value:"SUPPLIER"},Di.MANUFACTURER={type:3,value:"MANUFACTURER"},Di.CONTRACTOR={type:3,value:"CONTRACTOR"},Di.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Di.ARCHITECT={type:3,value:"ARCHITECT"},Di.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Di.COSTENGINEER={type:3,value:"COSTENGINEER"},Di.CLIENT={type:3,value:"CLIENT"},Di.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Di.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Di.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Di.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Di.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Di.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Di.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Di.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"},Di.ENGINEER={type:3,value:"ENGINEER"},Di.OWNER={type:3,value:"OWNER"},Di.CONSULTANT={type:3,value:"CONSULTANT"},Di.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Di.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Di.RESELLER={type:3,value:"RESELLER"},Di.USERDEFINED={type:3,value:"USERDEFINED"};let mi=Di;t.IfcRoleEnum=mi;const Ai=class{};Ai.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ai.SHED_ROOF={type:3,value:"SHED_ROOF"},Ai.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ai.HIP_ROOF={type:3,value:"HIP_ROOF"},Ai.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ai.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ai.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ai.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ai.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ai.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ai.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ai.DOME_ROOF={type:3,value:"DOME_ROOF"},Ai.FREEFORM={type:3,value:"FREEFORM"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let Si=Ai;t.IfcRoofTypeEnum=Si;const Ci=class{};Ci.EXA={type:3,value:"EXA"},Ci.PETA={type:3,value:"PETA"},Ci.TERA={type:3,value:"TERA"},Ci.GIGA={type:3,value:"GIGA"},Ci.MEGA={type:3,value:"MEGA"},Ci.KILO={type:3,value:"KILO"},Ci.HECTO={type:3,value:"HECTO"},Ci.DECA={type:3,value:"DECA"},Ci.DECI={type:3,value:"DECI"},Ci.CENTI={type:3,value:"CENTI"},Ci.MILLI={type:3,value:"MILLI"},Ci.MICRO={type:3,value:"MICRO"},Ci.NANO={type:3,value:"NANO"},Ci.PICO={type:3,value:"PICO"},Ci.FEMTO={type:3,value:"FEMTO"},Ci.ATTO={type:3,value:"ATTO"};let vi=Ci;t.IfcSIPrefix=vi;const Li=class{};Li.AMPERE={type:3,value:"AMPERE"},Li.BECQUEREL={type:3,value:"BECQUEREL"},Li.CANDELA={type:3,value:"CANDELA"},Li.COULOMB={type:3,value:"COULOMB"},Li.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Li.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Li.FARAD={type:3,value:"FARAD"},Li.GRAM={type:3,value:"GRAM"},Li.GRAY={type:3,value:"GRAY"},Li.HENRY={type:3,value:"HENRY"},Li.HERTZ={type:3,value:"HERTZ"},Li.JOULE={type:3,value:"JOULE"},Li.KELVIN={type:3,value:"KELVIN"},Li.LUMEN={type:3,value:"LUMEN"},Li.LUX={type:3,value:"LUX"},Li.METRE={type:3,value:"METRE"},Li.MOLE={type:3,value:"MOLE"},Li.NEWTON={type:3,value:"NEWTON"},Li.OHM={type:3,value:"OHM"},Li.PASCAL={type:3,value:"PASCAL"},Li.RADIAN={type:3,value:"RADIAN"},Li.SECOND={type:3,value:"SECOND"},Li.SIEMENS={type:3,value:"SIEMENS"},Li.SIEVERT={type:3,value:"SIEVERT"},Li.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Li.STERADIAN={type:3,value:"STERADIAN"},Li.TESLA={type:3,value:"TESLA"},Li.VOLT={type:3,value:"VOLT"},Li.WATT={type:3,value:"WATT"},Li.WEBER={type:3,value:"WEBER"};let bi=Li;t.IfcSIUnitName=bi;const Pi=class{};Pi.BATH={type:3,value:"BATH"},Pi.BIDET={type:3,value:"BIDET"},Pi.CISTERN={type:3,value:"CISTERN"},Pi.SHOWER={type:3,value:"SHOWER"},Pi.SINK={type:3,value:"SINK"},Pi.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Pi.TOILETPAN={type:3,value:"TOILETPAN"},Pi.URINAL={type:3,value:"URINAL"},Pi.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Pi.WCSEAT={type:3,value:"WCSEAT"},Pi.USERDEFINED={type:3,value:"USERDEFINED"},Pi.NOTDEFINED={type:3,value:"NOTDEFINED"};let gi=Pi;t.IfcSanitaryTerminalTypeEnum=gi;const xi=class{};xi.UNIFORM={type:3,value:"UNIFORM"},xi.TAPERED={type:3,value:"TAPERED"};let _i=xi;t.IfcSectionTypeEnum=_i;const Mi=class{};Mi.CO2SENSOR={type:3,value:"CO2SENSOR"},Mi.FIRESENSOR={type:3,value:"FIRESENSOR"},Mi.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Mi.GASSENSOR={type:3,value:"GASSENSOR"},Mi.HEATSENSOR={type:3,value:"HEATSENSOR"},Mi.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Mi.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Mi.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Mi.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Mi.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Mi.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Mi.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Mi.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fi=Mi;t.IfcSensorTypeEnum=Fi;const Ui=class{};Ui.START_START={type:3,value:"START_START"},Ui.START_FINISH={type:3,value:"START_FINISH"},Ui.FINISH_START={type:3,value:"FINISH_START"},Ui.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let wi=Ui;t.IfcSequenceEnum=wi;const Gi=class{};Gi.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"},Gi.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"},Gi.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"},Gi.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"},Gi.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"},Gi.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"},Gi.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hi=Gi;t.IfcServiceLifeFactorTypeEnum=Hi;const Bi=class{};Bi.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"},Bi.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"},Bi.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"},Bi.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"},Bi.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"};let Vi=Bi;t.IfcServiceLifeTypeEnum=Vi;const Wi=class{};Wi.FLOOR={type:3,value:"FLOOR"},Wi.ROOF={type:3,value:"ROOF"},Wi.LANDING={type:3,value:"LANDING"},Wi.BASESLAB={type:3,value:"BASESLAB"},Wi.USERDEFINED={type:3,value:"USERDEFINED"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ji=Wi;t.IfcSlabTypeEnum=ji;const Yi=class{};Yi.DBA={type:3,value:"DBA"},Yi.DBB={type:3,value:"DBB"},Yi.DBC={type:3,value:"DBC"},Yi.NC={type:3,value:"NC"},Yi.NR={type:3,value:"NR"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"};let zi=Yi;t.IfcSoundScaleEnum=zi;const ki=class{};ki.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"},ki.PANELRADIATOR={type:3,value:"PANELRADIATOR"},ki.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"},ki.CONVECTOR={type:3,value:"CONVECTOR"},ki.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"},ki.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"},ki.UNITHEATER={type:3,value:"UNITHEATER"},ki.USERDEFINED={type:3,value:"USERDEFINED"},ki.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xi=ki;t.IfcSpaceHeaterTypeEnum=Xi;const Ki=class{};Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zi=Ki;t.IfcSpaceTypeEnum=Zi;const qi=class{};qi.BIRDCAGE={type:3,value:"BIRDCAGE"},qi.COWL={type:3,value:"COWL"},qi.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},qi.USERDEFINED={type:3,value:"USERDEFINED"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qi=qi;t.IfcStackTerminalTypeEnum=Qi;const Ji=class{};Ji.STRAIGHT={type:3,value:"STRAIGHT"},Ji.WINDER={type:3,value:"WINDER"},Ji.SPIRAL={type:3,value:"SPIRAL"},Ji.CURVED={type:3,value:"CURVED"},Ji.FREEFORM={type:3,value:"FREEFORM"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"};let $i=Ji;t.IfcStairFlightTypeEnum=$i;const tr=class{};tr.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},tr.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},tr.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},tr.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},tr.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},tr.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},tr.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},tr.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},tr.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},tr.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},tr.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},tr.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},tr.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},tr.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let er=tr;t.IfcStairTypeEnum=er;const sr=class{};sr.READWRITE={type:3,value:"READWRITE"},sr.READONLY={type:3,value:"READONLY"},sr.LOCKED={type:3,value:"LOCKED"},sr.READWRITELOCKED={type:3,value:"READWRITELOCKED"},sr.READONLYLOCKED={type:3,value:"READONLYLOCKED"};let ir=sr;t.IfcStateEnum=ir;const rr=class{};rr.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},rr.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},rr.CABLE={type:3,value:"CABLE"},rr.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},rr.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"};let nr=rr;t.IfcStructuralCurveTypeEnum=nr;const ar=class{};ar.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},ar.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},ar.SHELL={type:3,value:"SHELL"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let or=ar;t.IfcStructuralSurfaceTypeEnum=or;const hr=class{};hr.POSITIVE={type:3,value:"POSITIVE"},hr.NEGATIVE={type:3,value:"NEGATIVE"},hr.BOTH={type:3,value:"BOTH"};let cr=hr;t.IfcSurfaceSide=cr;const lr=class{};lr.BUMP={type:3,value:"BUMP"},lr.OPACITY={type:3,value:"OPACITY"},lr.REFLECTION={type:3,value:"REFLECTION"},lr.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"},lr.SHININESS={type:3,value:"SHININESS"},lr.SPECULAR={type:3,value:"SPECULAR"},lr.TEXTURE={type:3,value:"TEXTURE"},lr.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let pr=lr;t.IfcSurfaceTextureEnum=pr;const ur=class{};ur.CONTACTOR={type:3,value:"CONTACTOR"},ur.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ur.STARTER={type:3,value:"STARTER"},ur.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ur.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let Er=ur;t.IfcSwitchingDeviceTypeEnum=Er;const Ir=class{};Ir.PREFORMED={type:3,value:"PREFORMED"},Ir.SECTIONAL={type:3,value:"SECTIONAL"},Ir.EXPANSION={type:3,value:"EXPANSION"},Ir.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"};let yr=Ir;t.IfcTankTypeEnum=yr;const Tr=class{};Tr.STRAND={type:3,value:"STRAND"},Tr.WIRE={type:3,value:"WIRE"},Tr.BAR={type:3,value:"BAR"},Tr.COATED={type:3,value:"COATED"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let dr=Tr;t.IfcTendonTypeEnum=dr;const Nr=class{};Nr.LEFT={type:3,value:"LEFT"},Nr.RIGHT={type:3,value:"RIGHT"},Nr.UP={type:3,value:"UP"},Nr.DOWN={type:3,value:"DOWN"};let Rr=Nr;t.IfcTextPath=Rr;const fr=class{};fr.PEOPLE={type:3,value:"PEOPLE"},fr.LIGHTING={type:3,value:"LIGHTING"},fr.EQUIPMENT={type:3,value:"EQUIPMENT"},fr.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"},fr.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"},fr.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"},fr.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"},fr.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"},fr.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"},fr.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"},fr.INFILTRATION={type:3,value:"INFILTRATION"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Or=fr;t.IfcThermalLoadSourceEnum=Or;const Dr=class{};Dr.SENSIBLE={type:3,value:"SENSIBLE"},Dr.LATENT={type:3,value:"LATENT"},Dr.RADIANT={type:3,value:"RADIANT"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"};let mr=Dr;t.IfcThermalLoadTypeEnum=mr;const Ar=class{};Ar.CONTINUOUS={type:3,value:"CONTINUOUS"},Ar.DISCRETE={type:3,value:"DISCRETE"},Ar.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Ar.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Ar.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Ar.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sr=Ar;t.IfcTimeSeriesDataTypeEnum=Sr;const Cr=class{};Cr.ANNUAL={type:3,value:"ANNUAL"},Cr.MONTHLY={type:3,value:"MONTHLY"},Cr.WEEKLY={type:3,value:"WEEKLY"},Cr.DAILY={type:3,value:"DAILY"},Cr.USERDEFINED={type:3,value:"USERDEFINED"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"};let vr=Cr;t.IfcTimeSeriesScheduleTypeEnum=vr;const Lr=class{};Lr.CURRENT={type:3,value:"CURRENT"},Lr.FREQUENCY={type:3,value:"FREQUENCY"},Lr.VOLTAGE={type:3,value:"VOLTAGE"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let br=Lr;t.IfcTransformerTypeEnum=br;const Pr=class{};Pr.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Pr.CONTINUOUS={type:3,value:"CONTINUOUS"},Pr.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Pr.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"};let gr=Pr;t.IfcTransitionCode=gr;const xr=class{};xr.ELEVATOR={type:3,value:"ELEVATOR"},xr.ESCALATOR={type:3,value:"ESCALATOR"},xr.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"};let _r=xr;t.IfcTransportElementTypeEnum=_r;const Mr=class{};Mr.CARTESIAN={type:3,value:"CARTESIAN"},Mr.PARAMETER={type:3,value:"PARAMETER"},Mr.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let Fr=Mr;t.IfcTrimmingPreference=Fr;const Ur=class{};Ur.FINNED={type:3,value:"FINNED"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let wr=Ur;t.IfcTubeBundleTypeEnum=wr;const Gr=class{};Gr.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Gr.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Gr.AREAUNIT={type:3,value:"AREAUNIT"},Gr.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Gr.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Gr.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Gr.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Gr.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Gr.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Gr.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Gr.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Gr.FORCEUNIT={type:3,value:"FORCEUNIT"},Gr.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Gr.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Gr.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Gr.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Gr.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Gr.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Gr.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Gr.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Gr.MASSUNIT={type:3,value:"MASSUNIT"},Gr.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Gr.POWERUNIT={type:3,value:"POWERUNIT"},Gr.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Gr.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Gr.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Gr.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Gr.TIMEUNIT={type:3,value:"TIMEUNIT"},Gr.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Gr.USERDEFINED={type:3,value:"USERDEFINED"};let Hr=Gr;t.IfcUnitEnum=Hr;const Br=class{};Br.AIRHANDLER={type:3,value:"AIRHANDLER"},Br.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},Br.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},Br.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vr=Br;t.IfcUnitaryEquipmentTypeEnum=Vr;const Wr=class{};Wr.AIRRELEASE={type:3,value:"AIRRELEASE"},Wr.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Wr.CHANGEOVER={type:3,value:"CHANGEOVER"},Wr.CHECK={type:3,value:"CHECK"},Wr.COMMISSIONING={type:3,value:"COMMISSIONING"},Wr.DIVERTING={type:3,value:"DIVERTING"},Wr.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Wr.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Wr.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Wr.FAUCET={type:3,value:"FAUCET"},Wr.FLUSHING={type:3,value:"FLUSHING"},Wr.GASCOCK={type:3,value:"GASCOCK"},Wr.GASTAP={type:3,value:"GASTAP"},Wr.ISOLATING={type:3,value:"ISOLATING"},Wr.MIXING={type:3,value:"MIXING"},Wr.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Wr.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Wr.REGULATING={type:3,value:"REGULATING"},Wr.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Wr.STEAMTRAP={type:3,value:"STEAMTRAP"},Wr.STOPCOCK={type:3,value:"STOPCOCK"},Wr.USERDEFINED={type:3,value:"USERDEFINED"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"};let jr=Wr;t.IfcValveTypeEnum=jr;const Yr=class{};Yr.COMPRESSION={type:3,value:"COMPRESSION"},Yr.SPRING={type:3,value:"SPRING"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let zr=Yr;t.IfcVibrationIsolatorTypeEnum=zr;const kr=class{};kr.STANDARD={type:3,value:"STANDARD"},kr.POLYGONAL={type:3,value:"POLYGONAL"},kr.SHEAR={type:3,value:"SHEAR"},kr.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},kr.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xr=kr;t.IfcWallTypeEnum=Xr;const Kr=class{};Kr.FLOORTRAP={type:3,value:"FLOORTRAP"},Kr.FLOORWASTE={type:3,value:"FLOORWASTE"},Kr.GULLYSUMP={type:3,value:"GULLYSUMP"},Kr.GULLYTRAP={type:3,value:"GULLYTRAP"},Kr.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"},Kr.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"},Kr.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"},Kr.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Kr.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Kr.WASTETRAP={type:3,value:"WASTETRAP"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zr=Kr;t.IfcWasteTerminalTypeEnum=Zr;const qr=class{};qr.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},qr.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},qr.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},qr.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},qr.TOPHUNG={type:3,value:"TOPHUNG"},qr.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},qr.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},qr.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},qr.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},qr.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},qr.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},qr.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},qr.OTHEROPERATION={type:3,value:"OTHEROPERATION"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qr=qr;t.IfcWindowPanelOperationEnum=Qr;const Jr=class{};Jr.LEFT={type:3,value:"LEFT"},Jr.MIDDLE={type:3,value:"MIDDLE"},Jr.RIGHT={type:3,value:"RIGHT"},Jr.BOTTOM={type:3,value:"BOTTOM"},Jr.TOP={type:3,value:"TOP"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"};let $r=Jr;t.IfcWindowPanelPositionEnum=$r;const tn=class{};tn.ALUMINIUM={type:3,value:"ALUMINIUM"},tn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},tn.STEEL={type:3,value:"STEEL"},tn.WOOD={type:3,value:"WOOD"},tn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},tn.PLASTIC={type:3,value:"PLASTIC"},tn.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"};let en=tn;t.IfcWindowStyleConstructionEnum=en;const sn=class{};sn.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},sn.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},sn.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},sn.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},sn.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},sn.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},sn.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},sn.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},sn.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let rn=sn;t.IfcWindowStyleOperationEnum=rn;const nn=class{};nn.ACTUAL={type:3,value:"ACTUAL"},nn.BASELINE={type:3,value:"BASELINE"},nn.PLANNED={type:3,value:"PLANNED"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"};let an=nn;t.IfcWorkControlTypeEnum=an;t.IfcActorRole=class extends Gu{constructor(t,e,s){super(),this.Role=t,this.UserDefinedRole=e,this.Description=s,this.type=3630933823}};class on extends Gu{constructor(t,e,s){super(),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.type=618182010}}t.IfcAddress=on;t.IfcApplication=class extends Gu{constructor(t,e,s,i){super(),this.ApplicationDeveloper=t,this.Version=e,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class hn extends Gu{constructor(t,e,s,i,r,n){super(),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.type=411424972}}t.IfcAppliedValue=hn;t.IfcAppliedValueRelationship=class extends Gu{constructor(t,e,s,i,r){super(),this.ComponentOfTotal=t,this.Components=e,this.ArithmeticOperator=s,this.Name=i,this.Description=r,this.type=1110488051}};t.IfcApproval=class extends Gu{constructor(t,e,s,i,r,n,a){super(),this.Description=t,this.ApprovalDateTime=e,this.ApprovalStatus=s,this.ApprovalLevel=i,this.ApprovalQualifier=r,this.Name=n,this.Identifier=a,this.type=130549933}};t.IfcApprovalActorRelationship=class extends Gu{constructor(t,e,s){super(),this.Actor=t,this.Approval=e,this.Role=s,this.type=2080292479}};t.IfcApprovalPropertyRelationship=class extends Gu{constructor(t,e){super(),this.ApprovedProperties=t,this.Approval=e,this.type=390851274}};t.IfcApprovalRelationship=class extends Gu{constructor(t,e,s,i){super(),this.RelatedApproval=t,this.RelatingApproval=e,this.Description=s,this.Name=i,this.type=3869604511}};class cn extends Gu{constructor(t){super(),this.Name=t,this.type=4037036970}}t.IfcBoundaryCondition=cn;t.IfcBoundaryEdgeCondition=class extends cn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.LinearStiffnessByLengthX=e,this.LinearStiffnessByLengthY=s,this.LinearStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=r,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};t.IfcBoundaryFaceCondition=class extends cn{constructor(t,e,s,i){super(t),this.Name=t,this.LinearStiffnessByAreaX=e,this.LinearStiffnessByAreaY=s,this.LinearStiffnessByAreaZ=i,this.type=3367102660}};class ln extends cn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.LinearStiffnessX=e,this.LinearStiffnessY=s,this.LinearStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}t.IfcBoundaryNodeCondition=ln;t.IfcBoundaryNodeConditionWarping=class extends ln{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.LinearStiffnessX=e,this.LinearStiffnessY=s,this.LinearStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=o,this.type=2069777674}};t.IfcCalendarDate=class extends Gu{constructor(t,e,s){super(),this.DayComponent=t,this.MonthComponent=e,this.YearComponent=s,this.type=622194075}};t.IfcClassification=class extends Gu{constructor(t,e,s,i){super(),this.Source=t,this.Edition=e,this.EditionDate=s,this.Name=i,this.type=747523909}};t.IfcClassificationItem=class extends Gu{constructor(t,e,s){super(),this.Notation=t,this.ItemOf=e,this.Title=s,this.type=1767535486}};t.IfcClassificationItemRelationship=class extends Gu{constructor(t,e){super(),this.RelatingItem=t,this.RelatedItems=e,this.type=1098599126}};t.IfcClassificationNotation=class extends Gu{constructor(t){super(),this.NotationFacets=t,this.type=938368621}};t.IfcClassificationNotationFacet=class extends Gu{constructor(t){super(),this.NotationValue=t,this.type=3639012971}};class pn extends Gu{constructor(t){super(),this.Name=t,this.type=3264961684}}t.IfcColourSpecification=pn;class un extends Gu{constructor(){super(),this.type=2859738748}}t.IfcConnectionGeometry=un;class En extends un{constructor(t,e){super(),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.type=2614616156}}t.IfcConnectionPointGeometry=En;t.IfcConnectionPortGeometry=class extends un{constructor(t,e,s){super(),this.LocationAtRelatingElement=t,this.LocationAtRelatedElement=e,this.ProfileOfPort=s,this.type=4257277454}};t.IfcConnectionSurfaceGeometry=class extends un{constructor(t,e){super(),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=e,this.type=2732653382}};class In extends Gu{constructor(t,e,s,i,r,n,a){super(),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}t.IfcConstraint=In;t.IfcConstraintAggregationRelationship=class extends Gu{constructor(t,e,s,i,r){super(),this.Name=t,this.Description=e,this.RelatingConstraint=s,this.RelatedConstraints=i,this.LogicalAggregator=r,this.type=1658513725}};t.IfcConstraintClassificationRelationship=class extends Gu{constructor(t,e){super(),this.ClassifiedConstraint=t,this.RelatedClassifications=e,this.type=613356794}};t.IfcConstraintRelationship=class extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.RelatingConstraint=s,this.RelatedConstraints=i,this.type=347226245}};t.IfcCoordinatedUniversalTimeOffset=class extends Gu{constructor(t,e,s){super(),this.HourOffset=t,this.MinuteOffset=e,this.Sense=s,this.type=1065062679}};t.IfcCostValue=class extends hn{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.CostType=a,this.Condition=o,this.type=602808272}};t.IfcCurrencyRelationship=class extends Gu{constructor(t,e,s,i,r){super(),this.RelatingMonetaryUnit=t,this.RelatedMonetaryUnit=e,this.ExchangeRate=s,this.RateDateTime=i,this.RateSource=r,this.type=539742890}};t.IfcCurveStyleFont=class extends Gu{constructor(t,e){super(),this.Name=t,this.PatternList=e,this.type=1105321065}};t.IfcCurveStyleFontAndScaling=class extends Gu{constructor(t,e,s){super(),this.Name=t,this.CurveFont=e,this.CurveFontScaling=s,this.type=2367409068}};t.IfcCurveStyleFontPattern=class extends Gu{constructor(t,e){super(),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=e,this.type=3510044353}};t.IfcDateAndTime=class extends Gu{constructor(t,e){super(),this.DateComponent=t,this.TimeComponent=e,this.type=1072939445}};t.IfcDerivedUnit=class extends Gu{constructor(t,e,s){super(),this.Elements=t,this.UnitType=e,this.UserDefinedType=s,this.type=1765591967}};t.IfcDerivedUnitElement=class extends Gu{constructor(t,e){super(),this.Unit=t,this.Exponent=e,this.type=1045800335}};t.IfcDimensionalExponents=class extends Gu{constructor(t,e,s,i,r,n,a){super(),this.LengthExponent=t,this.MassExponent=e,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=r,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};t.IfcDocumentElectronicFormat=class extends Gu{constructor(t,e,s){super(),this.FileExtension=t,this.MimeContentType=e,this.MimeSubtype=s,this.type=1376555844}};t.IfcDocumentInformation=class extends Gu{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(),this.DocumentId=t,this.Name=e,this.Description=s,this.DocumentReferences=i,this.Purpose=r,this.IntendedUse=n,this.Scope=a,this.Revision=o,this.DocumentOwner=h,this.Editors=c,this.CreationTime=l,this.LastRevisionTime=p,this.ElectronicFormat=u,this.ValidFrom=E,this.ValidUntil=I,this.Confidentiality=y,this.Status=T,this.type=1154170062}};t.IfcDocumentInformationRelationship=class extends Gu{constructor(t,e,s){super(),this.RelatingDocument=t,this.RelatedDocuments=e,this.RelationshipType=s,this.type=770865208}};class yn extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=3796139169}}t.IfcDraughtingCalloutRelationship=yn;t.IfcEnvironmentalImpactValue=class extends hn{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.ImpactType=a,this.Category=o,this.UserDefinedCategory=h,this.type=1648886627}};class Tn extends Gu{constructor(t,e,s){super(),this.Location=t,this.ItemReference=e,this.Name=s,this.type=3200245327}}t.IfcExternalReference=Tn;t.IfcExternallyDefinedHatchStyle=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=2242383968}};t.IfcExternallyDefinedSurfaceStyle=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=1040185647}};t.IfcExternallyDefinedSymbol=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=3207319532}};t.IfcExternallyDefinedTextFont=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=3548104201}};t.IfcGridAxis=class extends Gu{constructor(t,e,s){super(),this.AxisTag=t,this.AxisCurve=e,this.SameSense=s,this.type=852622518}};t.IfcIrregularTimeSeriesValue=class extends Gu{constructor(t,e){super(),this.TimeStamp=t,this.ListValues=e,this.type=3020489413}};t.IfcLibraryInformation=class extends Gu{constructor(t,e,s,i,r){super(),this.Name=t,this.Version=e,this.Publisher=s,this.VersionDate=i,this.LibraryReference=r,this.type=2655187982}};t.IfcLibraryReference=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=3452421091}};t.IfcLightDistributionData=class extends Gu{constructor(t,e,s){super(),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=e,this.LuminousIntensity=s,this.type=4162380809}};t.IfcLightIntensityDistribution=class extends Gu{constructor(t,e){super(),this.LightDistributionCurve=t,this.DistributionData=e,this.type=1566485204}};t.IfcLocalTime=class extends Gu{constructor(t,e,s,i,r){super(),this.HourComponent=t,this.MinuteComponent=e,this.SecondComponent=s,this.Zone=i,this.DaylightSavingOffset=r,this.type=30780891}};t.IfcMaterial=class extends Gu{constructor(t){super(),this.Name=t,this.type=1838606355}};t.IfcMaterialClassificationRelationship=class extends Gu{constructor(t,e){super(),this.MaterialClassifications=t,this.ClassifiedMaterial=e,this.type=1847130766}};t.IfcMaterialLayer=class extends Gu{constructor(t,e,s){super(),this.Material=t,this.LayerThickness=e,this.IsVentilated=s,this.type=248100487}};t.IfcMaterialLayerSet=class extends Gu{constructor(t,e){super(),this.MaterialLayers=t,this.LayerSetName=e,this.type=3303938423}};t.IfcMaterialLayerSetUsage=class extends Gu{constructor(t,e,s,i){super(),this.ForLayerSet=t,this.LayerSetDirection=e,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.type=1303795690}};t.IfcMaterialList=class extends Gu{constructor(t){super(),this.Materials=t,this.type=2199411900}};class dn extends Gu{constructor(t){super(),this.Material=t,this.type=3265635763}}t.IfcMaterialProperties=dn;t.IfcMeasureWithUnit=class extends Gu{constructor(t,e){super(),this.ValueComponent=t,this.UnitComponent=e,this.type=2597039031}};class Nn extends dn{constructor(t,e,s,i,r,n){super(t),this.Material=t,this.DynamicViscosity=e,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=r,this.ThermalExpansionCoefficient=n,this.type=4256014907}}t.IfcMechanicalMaterialProperties=Nn;t.IfcMechanicalSteelMaterialProperties=class extends Nn{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n),this.Material=t,this.DynamicViscosity=e,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=r,this.ThermalExpansionCoefficient=n,this.YieldStress=a,this.UltimateStress=o,this.UltimateStrain=h,this.HardeningModule=c,this.ProportionalStress=l,this.PlasticStrain=p,this.Relaxations=u,this.type=677618848}};t.IfcMetric=class extends In{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=o,this.ValueSource=h,this.DataValue=c,this.type=3368373690}};t.IfcMonetaryUnit=class extends Gu{constructor(t){super(),this.Currency=t,this.type=2706619895}};class Rn extends Gu{constructor(t,e){super(),this.Dimensions=t,this.UnitType=e,this.type=1918398963}}t.IfcNamedUnit=Rn;class fn extends Gu{constructor(){super(),this.type=3701648758}}t.IfcObjectPlacement=fn;t.IfcObjective=class extends In{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=o,this.ResultValues=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=l,this.type=2251480897}};t.IfcOpticalMaterialProperties=class extends dn{constructor(t,e,s,i,r,n,a,o,h,c){super(t),this.Material=t,this.VisibleTransmittance=e,this.SolarTransmittance=s,this.ThermalIrTransmittance=i,this.ThermalIrEmissivityBack=r,this.ThermalIrEmissivityFront=n,this.VisibleReflectanceBack=a,this.VisibleReflectanceFront=o,this.SolarReflectanceFront=h,this.SolarReflectanceBack=c,this.type=1227763645}};t.IfcOrganization=class extends Gu{constructor(t,e,s,i,r){super(),this.Id=t,this.Name=e,this.Description=s,this.Roles=i,this.Addresses=r,this.type=4251960020}};t.IfcOrganizationRelationship=class extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}};t.IfcOwnerHistory=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.OwningUser=t,this.OwningApplication=e,this.State=s,this.ChangeAction=i,this.LastModifiedDate=r,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=o,this.type=1207048766}};t.IfcPerson=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Id=t,this.FamilyName=e,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=r,this.SuffixTitles=n,this.Roles=a,this.Addresses=o,this.type=2077209135}};t.IfcPersonAndOrganization=class extends Gu{constructor(t,e,s){super(),this.ThePerson=t,this.TheOrganization=e,this.Roles=s,this.type=101040310}};class On extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2483315170}}t.IfcPhysicalQuantity=On;class Dn extends On{constructor(t,e,s){super(t,e),this.Name=t,this.Description=e,this.Unit=s,this.type=2226359599}}t.IfcPhysicalSimpleQuantity=Dn;t.IfcPostalAddress=class extends on{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=r,this.PostalBox=n,this.Town=a,this.Region=o,this.PostalCode=h,this.Country=c,this.type=3355820592}};class mn extends Gu{constructor(t){super(),this.Name=t,this.type=3727388367}}t.IfcPreDefinedItem=mn;class An extends mn{constructor(t){super(t),this.Name=t,this.type=990879717}}t.IfcPreDefinedSymbol=An;t.IfcPreDefinedTerminatorSymbol=class extends An{constructor(t){super(t),this.Name=t,this.type=3213052703}};class Sn extends mn{constructor(t){super(t),this.Name=t,this.type=1775413392}}t.IfcPreDefinedTextFont=Sn;class Cn extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}t.IfcPresentationLayerAssignment=Cn;t.IfcPresentationLayerWithStyle=class extends Cn{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.LayerOn=r,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=o,this.type=1304840413}};class vn extends Gu{constructor(t){super(),this.Name=t,this.type=3119450353}}t.IfcPresentationStyle=vn;t.IfcPresentationStyleAssignment=class extends Gu{constructor(t){super(),this.Styles=t,this.type=2417041796}};class Ln extends Gu{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Representations=s,this.type=2095639259}}t.IfcProductRepresentation=Ln;t.IfcProductsOfCombustionProperties=class extends dn{constructor(t,e,s,i,r){super(t),this.Material=t,this.SpecificHeatCapacity=e,this.N20Content=s,this.COContent=i,this.CO2Content=r,this.type=2267347899}};class bn extends Gu{constructor(t,e){super(),this.ProfileType=t,this.ProfileName=e,this.type=3958567839}}t.IfcProfileDef=bn;class Pn extends Gu{constructor(t,e){super(),this.ProfileName=t,this.ProfileDefinition=e,this.type=2802850158}}t.IfcProfileProperties=Pn;class gn extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2598011224}}t.IfcProperty=gn;t.IfcPropertyConstraintRelationship=class extends Gu{constructor(t,e,s,i){super(),this.RelatingConstraint=t,this.RelatedProperties=e,this.Name=s,this.Description=i,this.type=3896028662}};t.IfcPropertyDependencyRelationship=class extends Gu{constructor(t,e,s,i,r){super(),this.DependingProperty=t,this.DependantProperty=e,this.Name=s,this.Description=i,this.Expression=r,this.type=148025276}};t.IfcPropertyEnumeration=class extends Gu{constructor(t,e,s){super(),this.Name=t,this.EnumerationValues=e,this.Unit=s,this.type=3710013099}};t.IfcQuantityArea=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.AreaValue=i,this.type=2044713172}};t.IfcQuantityCount=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.CountValue=i,this.type=2093928680}};t.IfcQuantityLength=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.LengthValue=i,this.type=931644368}};t.IfcQuantityTime=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.TimeValue=i,this.type=3252649465}};t.IfcQuantityVolume=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.VolumeValue=i,this.type=2405470396}};t.IfcQuantityWeight=class extends Dn{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.WeightValue=i,this.type=825690147}};t.IfcReferencesValueDocument=class extends Gu{constructor(t,e,s,i){super(),this.ReferencedDocument=t,this.ReferencingValues=e,this.Name=s,this.Description=i,this.type=2692823254}};t.IfcReinforcementBarProperties=class extends Gu{constructor(t,e,s,i,r,n){super(),this.TotalCrossSectionArea=t,this.SteelGrade=e,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=r,this.BarCount=n,this.type=1580146022}};t.IfcRelaxation=class extends Gu{constructor(t,e){super(),this.RelaxationValue=t,this.InitialStress=e,this.type=1222501353}};class xn extends Gu{constructor(t,e,s,i){super(),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1076942058}}t.IfcRepresentation=xn;class _n extends Gu{constructor(t,e){super(),this.ContextIdentifier=t,this.ContextType=e,this.type=3377609919}}t.IfcRepresentationContext=_n;class Mn extends Gu{constructor(){super(),this.type=3008791417}}t.IfcRepresentationItem=Mn;t.IfcRepresentationMap=class extends Gu{constructor(t,e){super(),this.MappingOrigin=t,this.MappedRepresentation=e,this.type=1660063152}};t.IfcRibPlateProfileProperties=class extends Pn{constructor(t,e,s,i,r,n,a){super(t,e),this.ProfileName=t,this.ProfileDefinition=e,this.Thickness=s,this.RibHeight=i,this.RibWidth=r,this.RibSpacing=n,this.Direction=a,this.type=3679540991}};class Fn extends Gu{constructor(t,e,s,i){super(),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2341007311}}t.IfcRoot=Fn;t.IfcSIUnit=class extends Rn{constructor(t,e,s){super(new Uu(0),t),this.UnitType=t,this.Prefix=e,this.Name=s,this.type=448429030}};t.IfcSectionProperties=class extends Gu{constructor(t,e,s){super(),this.SectionType=t,this.StartProfile=e,this.EndProfile=s,this.type=2042790032}};t.IfcSectionReinforcementProperties=class extends Gu{constructor(t,e,s,i,r,n){super(),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=e,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=r,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};t.IfcShapeAspect=class extends Gu{constructor(t,e,s,i,r){super(),this.ShapeRepresentations=t,this.Name=e,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=r,this.type=867548509}};class Un extends xn{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3982875396}}t.IfcShapeModel=Un;t.IfcShapeRepresentation=class extends Un{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class wn extends gn{constructor(t,e){super(t,e),this.Name=t,this.Description=e,this.type=3692461612}}t.IfcSimpleProperty=wn;class Gn extends Gu{constructor(t){super(),this.Name=t,this.type=2273995522}}t.IfcStructuralConnectionCondition=Gn;class Hn extends Gu{constructor(t){super(),this.Name=t,this.type=2162789131}}t.IfcStructuralLoad=Hn;class Bn extends Hn{constructor(t){super(t),this.Name=t,this.type=2525727697}}t.IfcStructuralLoadStatic=Bn;t.IfcStructuralLoadTemperature=class extends Bn{constructor(t,e,s,i){super(t),this.Name=t,this.DeltaT_Constant=e,this.DeltaT_Y=s,this.DeltaT_Z=i,this.type=3408363356}};class Vn extends xn{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=2830218821}}t.IfcStyleModel=Vn;class Wn extends Mn{constructor(t,e,s){super(),this.Item=t,this.Styles=e,this.Name=s,this.type=3958052878}}t.IfcStyledItem=Wn;t.IfcStyledRepresentation=class extends Vn{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3049322572}};t.IfcSurfaceStyle=class extends vn{constructor(t,e,s){super(t),this.Name=t,this.Side=e,this.Styles=s,this.type=1300840506}};t.IfcSurfaceStyleLighting=class extends Gu{constructor(t,e,s,i){super(),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=e,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}};t.IfcSurfaceStyleRefraction=class extends Gu{constructor(t,e){super(),this.RefractionIndex=t,this.DispersionFactor=e,this.type=1607154358}};class jn extends Gu{constructor(t){super(),this.SurfaceColour=t,this.type=846575682}}t.IfcSurfaceStyleShading=jn;t.IfcSurfaceStyleWithTextures=class extends Gu{constructor(t){super(),this.Textures=t,this.type=1351298697}};class Yn extends Gu{constructor(t,e,s,i){super(),this.RepeatS=t,this.RepeatT=e,this.TextureType=s,this.TextureTransform=i,this.type=626085974}}t.IfcSurfaceTexture=Yn;t.IfcSymbolStyle=class extends vn{constructor(t,e){super(t),this.Name=t,this.StyleOfSymbol=e,this.type=1290481447}};t.IfcTable=class extends Gu{constructor(t,e){super(),this.Name=t,this.Rows=e,this.type=985171141}};t.IfcTableRow=class extends Gu{constructor(t,e){super(),this.RowCells=t,this.IsHeading=e,this.type=531007025}};t.IfcTelecomAddress=class extends on{constructor(t,e,s,i,r,n,a,o){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=r,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=o,this.type=912023232}};t.IfcTextStyle=class extends vn{constructor(t,e,s,i){super(t),this.Name=t,this.TextCharacterAppearance=e,this.TextStyle=s,this.TextFontStyle=i,this.type=1447204868}};t.IfcTextStyleFontModel=class extends Sn{constructor(t,e,s,i,r,n){super(t),this.Name=t,this.FontFamily=e,this.FontStyle=s,this.FontVariant=i,this.FontWeight=r,this.FontSize=n,this.type=1983826977}};t.IfcTextStyleForDefinedFont=class extends Gu{constructor(t,e){super(),this.Colour=t,this.BackgroundColour=e,this.type=2636378356}};t.IfcTextStyleTextModel=class extends Gu{constructor(t,e,s,i,r,n,a){super(),this.TextIndent=t,this.TextAlign=e,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=r,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};t.IfcTextStyleWithBoxCharacteristics=class extends Gu{constructor(t,e,s,i,r){super(),this.BoxHeight=t,this.BoxWidth=e,this.BoxSlantAngle=s,this.BoxRotateAngle=i,this.CharacterSpacing=r,this.type=1484833681}};class zn extends Gu{constructor(){super(),this.type=280115917}}t.IfcTextureCoordinate=zn;t.IfcTextureCoordinateGenerator=class extends zn{constructor(t,e){super(),this.Mode=t,this.Parameter=e,this.type=1742049831}};t.IfcTextureMap=class extends zn{constructor(t){super(),this.TextureMaps=t,this.type=2552916305}};t.IfcTextureVertex=class extends Gu{constructor(t){super(),this.Coordinates=t,this.type=1210645708}};t.IfcThermalMaterialProperties=class extends dn{constructor(t,e,s,i,r){super(t),this.Material=t,this.SpecificHeatCapacity=e,this.BoilingPoint=s,this.FreezingPoint=i,this.ThermalConductivity=r,this.type=3317419933}};class kn extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.type=3101149627}}t.IfcTimeSeries=kn;t.IfcTimeSeriesReferenceRelationship=class extends Gu{constructor(t,e){super(),this.ReferencedTimeSeries=t,this.TimeSeriesReferences=e,this.type=1718945513}};t.IfcTimeSeriesValue=class extends Gu{constructor(t){super(),this.ListValues=t,this.type=581633288}};class Xn extends Mn{constructor(){super(),this.type=1377556343}}t.IfcTopologicalRepresentationItem=Xn;t.IfcTopologyRepresentation=class extends Un{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1735638870}};t.IfcUnitAssignment=class extends Gu{constructor(t){super(),this.Units=t,this.type=180925521}};class Kn extends Xn{constructor(){super(),this.type=2799835756}}t.IfcVertex=Kn;t.IfcVertexBasedTextureMap=class extends Gu{constructor(t,e){super(),this.TextureVertices=t,this.TexturePoints=e,this.type=3304826586}};t.IfcVertexPoint=class extends Kn{constructor(t){super(),this.VertexGeometry=t,this.type=1907098498}};t.IfcVirtualGridIntersection=class extends Gu{constructor(t,e){super(),this.IntersectingAxes=t,this.OffsetDistances=e,this.type=891718957}};t.IfcWaterProperties=class extends dn{constructor(t,e,s,i,r,n,a,o){super(t),this.Material=t,this.IsPotable=e,this.Hardness=s,this.AlkalinityConcentration=i,this.AcidityConcentration=r,this.ImpuritiesContent=n,this.PHLevel=a,this.DissolvedSolidsContent=o,this.type=1065908215}};class Zn extends Wn{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=2442683028}}t.IfcAnnotationOccurrence=Zn;t.IfcAnnotationSurfaceOccurrence=class extends Zn{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=962685235}};class qn extends Zn{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=3612888222}}t.IfcAnnotationSymbolOccurrence=qn;t.IfcAnnotationTextOccurrence=class extends Zn{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=2297822566}};class Qn extends bn{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.type=3798115385}}t.IfcArbitraryClosedProfileDef=Qn;class Jn extends bn{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.type=1310608509}}t.IfcArbitraryOpenProfileDef=Jn;t.IfcArbitraryProfileDefWithVoids=class extends Qn{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}};t.IfcBlobTexture=class extends Yn{constructor(t,e,s,i,r,n){super(t,e,s,i),this.RepeatS=t,this.RepeatT=e,this.TextureType=s,this.TextureTransform=i,this.RasterFormat=r,this.RasterCode=n,this.type=616511568}};t.IfcCenterLineProfileDef=class extends Jn{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.Thickness=i,this.type=3150382593}};t.IfcClassificationReference=class extends Tn{constructor(t,e,s,i){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.ReferencedSource=i,this.type=647927063}};t.IfcColourRgb=class extends pn{constructor(t,e,s,i){super(t),this.Name=t,this.Red=e,this.Green=s,this.Blue=i,this.type=776857604}};t.IfcComplexProperty=class extends gn{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.UsageName=s,this.HasProperties=i,this.type=2542286263}};t.IfcCompositeProfileDef=class extends bn{constructor(t,e,s,i){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Profiles=s,this.Label=i,this.type=1485152156}};class $n extends Xn{constructor(t){super(),this.CfsFaces=t,this.type=370225590}}t.IfcConnectedFaceSet=$n;t.IfcConnectionCurveGeometry=class extends un{constructor(t,e){super(),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=e,this.type=1981873012}};t.IfcConnectionPointEccentricity=class extends En{constructor(t,e,s,i,r){super(t,e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=r,this.type=45288368}};t.IfcContextDependentUnit=class extends Rn{constructor(t,e,s){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.type=3050246964}};t.IfcConversionBasedUnit=class extends Rn{constructor(t,e,s,i){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.ConversionFactor=i,this.type=2889183280}};t.IfcCurveStyle=class extends vn{constructor(t,e,s,i){super(t),this.Name=t,this.CurveFont=e,this.CurveWidth=s,this.CurveColour=i,this.type=3800577675}};t.IfcDerivedProfileDef=class extends bn{constructor(t,e,s,i,r){super(t,e),this.ProfileType=t,this.ProfileName=e,this.ParentProfile=s,this.Operator=i,this.Label=r,this.type=3632507154}};t.IfcDimensionCalloutRelationship=class extends yn{constructor(t,e,s,i){super(t,e,s,i),this.Name=t,this.Description=e,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=2273265877}};t.IfcDimensionPair=class extends yn{constructor(t,e,s,i){super(t,e,s,i),this.Name=t,this.Description=e,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=1694125774}};t.IfcDocumentReference=class extends Tn{constructor(t,e,s){super(t,e,s),this.Location=t,this.ItemReference=e,this.Name=s,this.type=3732053477}};t.IfcDraughtingPreDefinedTextFont=class extends Sn{constructor(t){super(t),this.Name=t,this.type=4170525392}};class ta extends Xn{constructor(t,e){super(),this.EdgeStart=t,this.EdgeEnd=e,this.type=3900360178}}t.IfcEdge=ta;t.IfcEdgeCurve=class extends ta{constructor(t,e,s,i){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}};t.IfcExtendedMaterialProperties=class extends dn{constructor(t,e,s,i){super(t),this.Material=t,this.ExtendedProperties=e,this.Description=s,this.Name=i,this.type=1860660968}};class ea extends Xn{constructor(t){super(),this.Bounds=t,this.type=2556980723}}t.IfcFace=ea;class sa extends Xn{constructor(t,e){super(),this.Bound=t,this.Orientation=e,this.type=1809719519}}t.IfcFaceBound=sa;t.IfcFaceOuterBound=class extends sa{constructor(t,e){super(t,e),this.Bound=t,this.Orientation=e,this.type=803316827}};t.IfcFaceSurface=class extends ea{constructor(t,e,s){super(t),this.Bounds=t,this.FaceSurface=e,this.SameSense=s,this.type=3008276851}};t.IfcFailureConnectionCondition=class extends Gn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TensionFailureX=e,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=r,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};t.IfcFillAreaStyle=class extends vn{constructor(t,e){super(t),this.Name=t,this.FillStyles=e,this.type=738692330}};t.IfcFuelProperties=class extends dn{constructor(t,e,s,i,r){super(t),this.Material=t,this.CombustionTemperature=e,this.CarbonContent=s,this.LowerHeatingValue=i,this.HigherHeatingValue=r,this.type=3857492461}};t.IfcGeneralMaterialProperties=class extends dn{constructor(t,e,s,i){super(t),this.Material=t,this.MolecularWeight=e,this.Porosity=s,this.MassDensity=i,this.type=803998398}};class ia extends Pn{constructor(t,e,s,i,r,n,a){super(t,e),this.ProfileName=t,this.ProfileDefinition=e,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=r,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.type=1446786286}}t.IfcGeneralProfileProperties=ia;class ra extends _n{constructor(t,e,s,i,r,n){super(t,e),this.ContextIdentifier=t,this.ContextType=e,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=r,this.TrueNorth=n,this.type=3448662350}}t.IfcGeometricRepresentationContext=ra;class na extends Mn{constructor(){super(),this.type=2453401579}}t.IfcGeometricRepresentationItem=na;t.IfcGeometricRepresentationSubContext=class extends ra{constructor(t,s,i,r,n,a){super(t,s,new e(0),null,new Uu(0),null),this.ContextIdentifier=t,this.ContextType=s,this.ParentContext=i,this.TargetScale=r,this.TargetView=n,this.UserDefinedTargetView=a,this.type=4142052618}};class aa extends na{constructor(t){super(),this.Elements=t,this.type=3590301190}}t.IfcGeometricSet=aa;t.IfcGridPlacement=class extends fn{constructor(t,e){super(),this.PlacementLocation=t,this.PlacementRefDirection=e,this.type=178086475}};class oa extends na{constructor(t,e){super(),this.BaseSurface=t,this.AgreementFlag=e,this.type=812098782}}t.IfcHalfSpaceSolid=oa;t.IfcHygroscopicMaterialProperties=class extends dn{constructor(t,e,s,i,r,n){super(t),this.Material=t,this.UpperVaporResistanceFactor=e,this.LowerVaporResistanceFactor=s,this.IsothermalMoistureCapacity=i,this.VaporPermeability=r,this.MoistureDiffusivity=n,this.type=2445078500}};t.IfcImageTexture=class extends Yn{constructor(t,e,s,i,r){super(t,e,s,i),this.RepeatS=t,this.RepeatT=e,this.TextureType=s,this.TextureTransform=i,this.UrlReference=r,this.type=3905492369}};t.IfcIrregularTimeSeries=class extends kn{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.Values=h,this.type=3741457305}};class ha extends na{constructor(t,e,s,i){super(),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}t.IfcLightSource=ha;t.IfcLightSourceAmbient=class extends ha{constructor(t,e,s,i){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}};t.IfcLightSourceDirectional=class extends ha{constructor(t,e,s,i,r){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=r,this.type=2604431987}};t.IfcLightSourceGoniometric=class extends ha{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=o,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class ca extends ha{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.type=1520743889}}t.IfcLightSourcePositional=ca;t.IfcLightSourceSpot=class extends ca{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=l,this.SpreadAngle=p,this.BeamWidthAngle=u,this.type=3422422726}};t.IfcLocalPlacement=class extends fn{constructor(t,e){super(),this.PlacementRelTo=t,this.RelativePlacement=e,this.type=2624227202}};class la extends Xn{constructor(){super(),this.type=1008929658}}t.IfcLoop=la;t.IfcMappedItem=class extends Mn{constructor(t,e){super(),this.MappingSource=t,this.MappingTarget=e,this.type=2347385850}};t.IfcMaterialDefinitionRepresentation=class extends Ln{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}};t.IfcMechanicalConcreteMaterialProperties=class extends Nn{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n),this.Material=t,this.DynamicViscosity=e,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=r,this.ThermalExpansionCoefficient=n,this.CompressiveStrength=a,this.MaxAggregateSize=o,this.AdmixturesDescription=h,this.Workability=c,this.ProtectivePoreRatio=l,this.WaterImpermeability=p,this.type=1430189142}};class pa extends Fn{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=219451334}}t.IfcObjectDefinition=pa;class ua extends na{constructor(t){super(),this.RepeatFactor=t,this.type=2833995503}}t.IfcOneDirectionRepeatFactor=ua;t.IfcOpenShell=class extends $n{constructor(t){super(t),this.CfsFaces=t,this.type=2665983363}};t.IfcOrientedEdge=class extends ta{constructor(t,e){super(new Uu(0),new Uu(0)),this.EdgeElement=t,this.Orientation=e,this.type=1029017970}};class Ea extends bn{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.type=2529465313}}t.IfcParameterizedProfileDef=Ea;t.IfcPath=class extends Xn{constructor(t){super(),this.EdgeList=t,this.type=2519244187}};t.IfcPhysicalComplexQuantity=class extends On{constructor(t,e,s,i,r,n){super(t,e),this.Name=t,this.Description=e,this.HasQuantities=s,this.Discrimination=i,this.Quality=r,this.Usage=n,this.type=3021840470}};t.IfcPixelTexture=class extends Yn{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.RepeatS=t,this.RepeatT=e,this.TextureType=s,this.TextureTransform=i,this.Width=r,this.Height=n,this.ColourComponents=a,this.Pixel=o,this.type=597895409}};class Ia extends na{constructor(t){super(),this.Location=t,this.type=2004835150}}t.IfcPlacement=Ia;class ya extends na{constructor(t,e){super(),this.SizeInX=t,this.SizeInY=e,this.type=1663979128}}t.IfcPlanarExtent=ya;class Ta extends na{constructor(){super(),this.type=2067069095}}t.IfcPoint=Ta;t.IfcPointOnCurve=class extends Ta{constructor(t,e){super(),this.BasisCurve=t,this.PointParameter=e,this.type=4022376103}};t.IfcPointOnSurface=class extends Ta{constructor(t,e,s){super(),this.BasisSurface=t,this.PointParameterU=e,this.PointParameterV=s,this.type=1423911732}};t.IfcPolyLoop=class extends la{constructor(t){super(),this.Polygon=t,this.type=2924175390}};t.IfcPolygonalBoundedHalfSpace=class extends oa{constructor(t,e,s,i){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class da extends mn{constructor(t){super(t),this.Name=t,this.type=759155922}}t.IfcPreDefinedColour=da;class Na extends mn{constructor(t){super(t),this.Name=t,this.type=2559016684}}t.IfcPreDefinedCurveFont=Na;t.IfcPreDefinedDimensionSymbol=class extends An{constructor(t){super(t),this.Name=t,this.type=433424934}};t.IfcPreDefinedPointMarkerSymbol=class extends An{constructor(t){super(t),this.Name=t,this.type=179317114}};t.IfcProductDefinitionShape=class extends Ln{constructor(t,e,s){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.type=673634403}};t.IfcPropertyBoundedValue=class extends wn{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=r,this.type=871118103}};class Ra extends Fn{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=1680319473}}t.IfcPropertyDefinition=Ra;t.IfcPropertyEnumeratedValue=class extends wn{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}};t.IfcPropertyListValue=class extends wn{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.ListValues=s,this.Unit=i,this.type=2752243245}};t.IfcPropertyReferenceValue=class extends wn{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.UsageName=s,this.PropertyReference=i,this.type=941946838}};class fa extends Ra{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3357820518}}t.IfcPropertySetDefinition=fa;t.IfcPropertySingleValue=class extends wn{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.NominalValue=s,this.Unit=i,this.type=3650150729}};t.IfcPropertyTableValue=class extends wn{constructor(t,e,s,i,r,n,a){super(t,e),this.Name=t,this.Description=e,this.DefiningValues=s,this.DefinedValues=i,this.Expression=r,this.DefiningUnit=n,this.DefinedUnit=a,this.type=110355661}};class Oa extends Ea{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.type=3615266464}}t.IfcRectangleProfileDef=Oa;t.IfcRegularTimeSeries=class extends kn{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.TimeStep=h,this.Values=c,this.type=3413951693}};t.IfcReinforcementDefinitionProperties=class extends fa{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.DefinitionType=r,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class Da extends Fn{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=478536968}}t.IfcRelationship=Da;t.IfcRoundedRectangleProfileDef=class extends Oa{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.RoundingRadius=n,this.type=2778083089}};t.IfcSectionedSpine=class extends na{constructor(t,e,s){super(),this.SpineCurve=t,this.CrossSections=e,this.CrossSectionPositions=s,this.type=1509187699}};t.IfcServiceLifeFactor=class extends fa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.PredefinedType=r,this.UpperValue=n,this.MostUsedValue=a,this.LowerValue=o,this.type=2411513650}};t.IfcShellBasedSurfaceModel=class extends na{constructor(t){super(),this.SbsmBoundary=t,this.type=4124623270}};t.IfcSlippageConnectionCondition=class extends Gn{constructor(t,e,s,i){super(t),this.Name=t,this.SlippageX=e,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class ma extends na{constructor(){super(),this.type=723233188}}t.IfcSolidModel=ma;t.IfcSoundProperties=class extends fa{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.IsAttenuating=r,this.SoundScale=n,this.SoundValues=a,this.type=2485662743}};t.IfcSoundValue=class extends fa{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.SoundLevelTimeSeries=r,this.Frequency=n,this.SoundLevelSingleValue=a,this.type=1202362311}};t.IfcSpaceThermalLoadProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableValueRatio=r,this.ThermalLoadSource=n,this.PropertySource=a,this.SourceDescription=o,this.MaximumValue=h,this.MinimumValue=c,this.ThermalLoadTimeSeriesValues=l,this.UserDefinedThermalLoadSource=p,this.UserDefinedPropertySource=u,this.ThermalLoadType=E,this.type=390701378}};t.IfcStructuralLoadLinearForce=class extends Bn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.LinearForceX=e,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=r,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};t.IfcStructuralLoadPlanarForce=class extends Bn{constructor(t,e,s,i){super(t),this.Name=t,this.PlanarForceX=e,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class Aa extends Bn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}t.IfcStructuralLoadSingleDisplacement=Aa;t.IfcStructuralLoadSingleDisplacementDistortion=class extends Aa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=o,this.type=1973038258}};class Sa extends Bn{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}t.IfcStructuralLoadSingleForce=Sa;t.IfcStructuralLoadSingleForceWarping=class extends Sa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=o,this.type=1190533807}};class Ca extends ia{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D){super(t,e,s,i,r,n,a),this.ProfileName=t,this.ProfileDefinition=e,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=r,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.TorsionalConstantX=o,this.MomentOfInertiaYZ=h,this.MomentOfInertiaY=c,this.MomentOfInertiaZ=l,this.WarpingConstant=p,this.ShearCentreZ=u,this.ShearCentreY=E,this.ShearDeformationAreaZ=I,this.ShearDeformationAreaY=y,this.MaximumSectionModulusY=T,this.MinimumSectionModulusY=d,this.MaximumSectionModulusZ=N,this.MinimumSectionModulusZ=R,this.TorsionalSectionModulus=f,this.CentreOfGravityInX=O,this.CentreOfGravityInY=D,this.type=3843319758}}t.IfcStructuralProfileProperties=Ca;t.IfcStructuralSteelProfileProperties=class extends Ca{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D,m,A,S,C){super(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D),this.ProfileName=t,this.ProfileDefinition=e,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=r,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.TorsionalConstantX=o,this.MomentOfInertiaYZ=h,this.MomentOfInertiaY=c,this.MomentOfInertiaZ=l,this.WarpingConstant=p,this.ShearCentreZ=u,this.ShearCentreY=E,this.ShearDeformationAreaZ=I,this.ShearDeformationAreaY=y,this.MaximumSectionModulusY=T,this.MinimumSectionModulusY=d,this.MaximumSectionModulusZ=N,this.MinimumSectionModulusZ=R,this.TorsionalSectionModulus=f,this.CentreOfGravityInX=O,this.CentreOfGravityInY=D,this.ShearAreaZ=m,this.ShearAreaY=A,this.PlasticShapeFactorY=S,this.PlasticShapeFactorZ=C,this.type=3653947884}};t.IfcSubedge=class extends ta{constructor(t,e,s){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.ParentEdge=s,this.type=2233826070}};class va extends na{constructor(){super(),this.type=2513912981}}t.IfcSurface=va;t.IfcSurfaceStyleRendering=class extends jn{constructor(t,e,s,i,r,n,a,o,h){super(t),this.SurfaceColour=t,this.Transparency=e,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=r,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=o,this.ReflectanceMethod=h,this.type=1878645084}};class La extends ma{constructor(t,e){super(),this.SweptArea=t,this.Position=e,this.type=2247615214}}t.IfcSweptAreaSolid=La;t.IfcSweptDiskSolid=class extends ma{constructor(t,e,s,i,r){super(),this.Directrix=t,this.Radius=e,this.InnerRadius=s,this.StartParam=i,this.EndParam=r,this.type=1260650574}};class ba extends va{constructor(t,e){super(),this.SweptCurve=t,this.Position=e,this.type=230924584}}t.IfcSweptSurface=ba;t.IfcTShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=l,this.FlangeSlope=p,this.CentreOfGravityInY=u,this.type=3071757647}};class Pa extends qn{constructor(t,e,s,i){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.AnnotatedCurve=i,this.type=3028897424}}t.IfcTerminatorSymbol=Pa;class ga extends na{constructor(t,e,s){super(),this.Literal=t,this.Placement=e,this.Path=s,this.type=4282788508}}t.IfcTextLiteral=ga;t.IfcTextLiteralWithExtent=class extends ga{constructor(t,e,s,i,r){super(t,e,s),this.Literal=t,this.Placement=e,this.Path=s,this.Extent=i,this.BoxAlignment=r,this.type=3124975700}};t.IfcTrapeziumProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.BottomXDim=i,this.TopXDim=r,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};t.IfcTwoDirectionRepeatFactor=class extends ua{constructor(t,e){super(t),this.RepeatFactor=t,this.SecondRepeatFactor=e,this.type=1345879162}};class xa extends pa{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.type=1628702193}}t.IfcTypeObject=xa;class _a extends xa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.type=2347495698}}t.IfcTypeProduct=_a;t.IfcUShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.FlangeSlope=c,this.CentreOfGravityInX=l,this.type=427810014}};t.IfcVector=class extends na{constructor(t,e){super(),this.Orientation=t,this.Magnitude=e,this.type=1417489154}};t.IfcVertexLoop=class extends la{constructor(t){super(),this.LoopVertex=t,this.type=2759199220}};t.IfcWindowLiningProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=o,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=l,this.SecondMullionOffset=p,this.ShapeAspectStyle=u,this.type=336235671}};t.IfcWindowPanelProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=512836454}};t.IfcWindowStyle=class extends _a{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ConstructionType=h,this.OperationType=c,this.ParameterTakesPrecedence=l,this.Sizeable=p,this.type=1299126871}};t.IfcZShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.type=2543172580}};class Ma extends Zn{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=3288037868}}t.IfcAnnotationCurveOccurrence=Ma;t.IfcAnnotationFillArea=class extends na{constructor(t,e){super(),this.OuterBoundary=t,this.InnerBoundaries=e,this.type=669184980}};t.IfcAnnotationFillAreaOccurrence=class extends Zn{constructor(t,e,s,i,r){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.FillStyleTarget=i,this.GlobalOrLocal=r,this.type=2265737646}};t.IfcAnnotationSurface=class extends na{constructor(t,e){super(),this.Item=t,this.TextureCoordinates=e,this.type=1302238472}};t.IfcAxis1Placement=class extends Ia{constructor(t,e){super(t),this.Location=t,this.Axis=e,this.type=4261334040}};t.IfcAxis2Placement2D=class extends Ia{constructor(t,e){super(t),this.Location=t,this.RefDirection=e,this.type=3125803723}};t.IfcAxis2Placement3D=class extends Ia{constructor(t,e,s){super(t),this.Location=t,this.Axis=e,this.RefDirection=s,this.type=2740243338}};class Fa extends na{constructor(t,e,s){super(),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=2736907675}}t.IfcBooleanResult=Fa;class Ua extends va{constructor(){super(),this.type=4182860854}}t.IfcBoundedSurface=Ua;t.IfcBoundingBox=class extends na{constructor(t,e,s,i){super(),this.Corner=t,this.XDim=e,this.YDim=s,this.ZDim=i,this.type=2581212453}};t.IfcBoxedHalfSpace=class extends oa{constructor(t,e,s){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Enclosure=s,this.type=2713105998}};t.IfcCShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=o,this.CentreOfGravityInX=h,this.type=2898889636}};t.IfcCartesianPoint=class extends Ta{constructor(t){super(),this.Coordinates=t,this.type=1123145078}};class wa extends na{constructor(t,e,s,i){super(),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}t.IfcCartesianTransformationOperator=wa;class Ga extends wa{constructor(t,e,s,i){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}t.IfcCartesianTransformationOperator2D=Ga;t.IfcCartesianTransformationOperator2DnonUniform=class extends Ga{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Scale2=r,this.type=3486308946}};class Ha extends wa{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.type=3331915920}}t.IfcCartesianTransformationOperator3D=Ha;t.IfcCartesianTransformationOperator3DnonUniform=class extends Ha{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class Ba extends Ea{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.type=1383045692}}t.IfcCircleProfileDef=Ba;t.IfcClosedShell=class extends $n{constructor(t){super(t),this.CfsFaces=t,this.type=2205249479}};t.IfcCompositeCurveSegment=class extends na{constructor(t,e,s){super(),this.Transition=t,this.SameSense=e,this.ParentCurve=s,this.type=2485617015}};t.IfcCraneRailAShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallHeight=i,this.BaseWidth2=r,this.Radius=n,this.HeadWidth=a,this.HeadDepth2=o,this.HeadDepth3=h,this.WebThickness=c,this.BaseWidth4=l,this.BaseDepth1=p,this.BaseDepth2=u,this.BaseDepth3=E,this.CentreOfGravityInY=I,this.type=4133800736}};t.IfcCraneRailFShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallHeight=i,this.HeadWidth=r,this.Radius=n,this.HeadDepth2=a,this.HeadDepth3=o,this.WebThickness=h,this.BaseDepth1=c,this.BaseDepth2=l,this.CentreOfGravityInY=p,this.type=194851669}};class Va extends na{constructor(t){super(),this.Position=t,this.type=2506170314}}t.IfcCsgPrimitive3D=Va;t.IfcCsgSolid=class extends ma{constructor(t){super(),this.TreeRootExpression=t,this.type=2147822146}};class Wa extends na{constructor(){super(),this.type=2601014836}}t.IfcCurve=Wa;t.IfcCurveBoundedPlane=class extends Ua{constructor(t,e,s){super(),this.BasisSurface=t,this.OuterBoundary=e,this.InnerBoundaries=s,this.type=2827736869}};t.IfcDefinedSymbol=class extends na{constructor(t,e){super(),this.Definition=t,this.Target=e,this.type=693772133}};t.IfcDimensionCurve=class extends Ma{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=606661476}};t.IfcDimensionCurveTerminator=class extends Pa{constructor(t,e,s,i,r){super(t,e,s,i),this.Item=t,this.Styles=e,this.Name=s,this.AnnotatedCurve=i,this.Role=r,this.type=4054601972}};t.IfcDirection=class extends na{constructor(t){super(),this.DirectionRatios=t,this.type=32440307}};t.IfcDoorLiningProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=o,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=l,this.ThresholdOffset=p,this.CasingThickness=u,this.CasingDepth=E,this.ShapeAspectStyle=I,this.type=2963535650}};t.IfcDoorPanelProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.PanelDepth=r,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=o,this.ShapeAspectStyle=h,this.type=1714330368}};t.IfcDoorStyle=class extends _a{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.OperationType=h,this.ConstructionType=c,this.ParameterTakesPrecedence=l,this.Sizeable=p,this.type=526551008}};class ja extends na{constructor(t){super(),this.Contents=t,this.type=3073041342}}t.IfcDraughtingCallout=ja;t.IfcDraughtingPreDefinedColour=class extends da{constructor(t){super(t),this.Name=t,this.type=445594917}};t.IfcDraughtingPreDefinedCurveFont=class extends Na{constructor(t){super(t),this.Name=t,this.type=4006246654}};t.IfcEdgeLoop=class extends la{constructor(t){super(),this.EdgeList=t,this.type=1472233963}};t.IfcElementQuantity=class extends fa{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.MethodOfMeasurement=r,this.Quantities=n,this.type=1883228015}};class Ya extends _a{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=339256511}}t.IfcElementType=Ya;class za extends va{constructor(t){super(),this.Position=t,this.type=2777663545}}t.IfcElementarySurface=za;t.IfcEllipseProfileDef=class extends Ea{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=r,this.type=2835456948}};class ka extends fa{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.EnergySequence=r,this.UserDefinedEnergySequence=n,this.type=80994333}}t.IfcEnergyProperties=ka;t.IfcExtrudedAreaSolid=class extends La{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}};t.IfcFaceBasedSurfaceModel=class extends na{constructor(t){super(),this.FbsmFaces=t,this.type=2047409740}};t.IfcFillAreaStyleHatching=class extends na{constructor(t,e,s,i,r){super(),this.HatchLineAppearance=t,this.StartOfNextHatchLine=e,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=r,this.type=374418227}};t.IfcFillAreaStyleTileSymbolWithStyle=class extends na{constructor(t){super(),this.Symbol=t,this.type=4203026998}};t.IfcFillAreaStyleTiles=class extends na{constructor(t,e,s){super(),this.TilingPattern=t,this.Tiles=e,this.TilingScale=s,this.type=315944413}};t.IfcFluidFlowProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.PropertySource=r,this.FlowConditionTimeSeries=n,this.VelocityTimeSeries=a,this.FlowrateTimeSeries=o,this.Fluid=h,this.PressureTimeSeries=c,this.UserDefinedPropertySource=l,this.TemperatureSingleValue=p,this.WetBulbTemperatureSingleValue=u,this.WetBulbTemperatureTimeSeries=E,this.TemperatureTimeSeries=I,this.FlowrateSingleValue=y,this.FlowConditionSingleValue=T,this.VelocitySingleValue=d,this.PressureSingleValue=N,this.type=3455213021}};class Xa extends Ya{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=4238390223}}t.IfcFurnishingElementType=Xa;t.IfcFurnitureType=class extends Xa{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.AssemblyPlace=c,this.type=1268542332}};t.IfcGeometricCurveSet=class extends aa{constructor(t){super(t),this.Elements=t,this.type=987898635}};class Ka extends Ea{constructor(t,e,s,i,r,n,a,o){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallWidth=i,this.OverallDepth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.type=1484403080}}t.IfcIShapeProfileDef=Ka;t.IfcLShapeProfileDef=class extends Ea{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=o,this.LegSlope=h,this.CentreOfGravityInX=c,this.CentreOfGravityInY=l,this.type=572779678}};t.IfcLine=class extends Wa{constructor(t,e){super(),this.Pnt=t,this.Dir=e,this.type=1281925730}};class Za extends ma{constructor(t){super(),this.Outer=t,this.type=1425443689}}t.IfcManifoldSolidBrep=Za;class qa extends pa{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3888040117}}t.IfcObject=qa;t.IfcOffsetCurve2D=class extends Wa{constructor(t,e,s){super(),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.type=3388369263}};t.IfcOffsetCurve3D=class extends Wa{constructor(t,e,s,i){super(),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}};t.IfcPermeableCoveringProperties=class extends fa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=3566463478}};t.IfcPlanarBox=class extends ya{constructor(t,e,s){super(t,e),this.SizeInX=t,this.SizeInY=e,this.Placement=s,this.type=603570806}};t.IfcPlane=class extends za{constructor(t){super(t),this.Position=t,this.type=220341763}};class Qa extends qa{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2945172077}}t.IfcProcess=Qa;class Ja extends qa{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}t.IfcProduct=Ja;t.IfcProject=class extends qa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=103090709}};t.IfcProjectionCurve=class extends Ma{constructor(t,e,s){super(t,e,s),this.Item=t,this.Styles=e,this.Name=s,this.type=4194566429}};t.IfcPropertySet=class extends fa{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.HasProperties=r,this.type=1451395588}};t.IfcProxy=class extends Ja{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.ProxyType=o,this.Tag=h,this.type=3219374653}};t.IfcRectangleHollowProfileDef=class extends Oa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=o,this.type=2770003689}};t.IfcRectangularPyramid=class extends Va{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.Height=i,this.type=2798486643}};t.IfcRectangularTrimmedSurface=class extends Ua{constructor(t,e,s,i,r,n,a){super(),this.BasisSurface=t,this.U1=e,this.V1=s,this.U2=i,this.V2=r,this.Usense=n,this.Vsense=a,this.type=3454111270}};class $a extends Da{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.type=3939117080}}t.IfcRelAssigns=$a;class to extends $a{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=o,this.type=1683148259}}t.IfcRelAssignsToActor=to;class eo extends $a{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}}t.IfcRelAssignsToControl=eo;t.IfcRelAssignsToGroup=class extends $a{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}};t.IfcRelAssignsToProcess=class extends $a{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=o,this.type=4278684876}};t.IfcRelAssignsToProduct=class extends $a{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};t.IfcRelAssignsToProjectOrder=class extends eo{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=3372526763}};t.IfcRelAssignsToResource=class extends $a{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class so extends Da{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.type=1865459582}}t.IfcRelAssociates=so;t.IfcRelAssociatesAppliedValue=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingAppliedValue=n,this.type=1327628568}};t.IfcRelAssociatesApproval=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingApproval=n,this.type=4095574036}};t.IfcRelAssociatesClassification=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingClassification=n,this.type=919958153}};t.IfcRelAssociatesConstraint=class extends so{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};t.IfcRelAssociatesDocument=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingDocument=n,this.type=982818633}};t.IfcRelAssociatesLibrary=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingLibrary=n,this.type=3840914261}};t.IfcRelAssociatesMaterial=class extends so{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingMaterial=n,this.type=2655215786}};t.IfcRelAssociatesProfileProperties=class extends so{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingProfileProperties=n,this.ProfileSectionLocation=a,this.ProfileOrientation=o,this.type=2851387026}};class io extends Da{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=826625072}}t.IfcRelConnects=io;class ro extends io{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}t.IfcRelConnectsElements=ro;t.IfcRelConnectsPathElements=class extends ro{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=o,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=l,this.type=3945020480}};t.IfcRelConnectsPortToElement=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedElement=n,this.type=4201705270}};t.IfcRelConnectsPorts=class extends io{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};t.IfcRelConnectsStructuralActivity=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedStructuralActivity=n,this.type=2127690289}};t.IfcRelConnectsStructuralElement=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedStructuralMember=n,this.type=3912681535}};class no extends io{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}t.IfcRelConnectsStructuralMember=no;t.IfcRelConnectsWithEccentricity=class extends no{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=l,this.type=504942748}};t.IfcRelConnectsWithRealizingElements=class extends ro{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=o,this.ConnectionType=h,this.type=3678494232}};t.IfcRelContainedInSpatialStructure=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=3242617779}};t.IfcRelCoversBldgElements=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedCoverings=n,this.type=886880790}};t.IfcRelCoversSpaces=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedSpace=r,this.RelatedCoverings=n,this.type=2802773753}};class ao extends Da{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=2551354335}}t.IfcRelDecomposes=ao;class oo extends Da{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.type=693640335}}t.IfcRelDefines=oo;class ho extends oo{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingPropertyDefinition=n,this.type=4186316022}}t.IfcRelDefinesByProperties=ho;t.IfcRelDefinesByType=class extends oo{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingType=n,this.type=781010003}};t.IfcRelFillsElement=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingOpeningElement=r,this.RelatedBuildingElement=n,this.type=3940055652}};t.IfcRelFlowControlElements=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedControlElements=r,this.RelatingFlowElement=n,this.type=279856033}};t.IfcRelInteractionRequirements=class extends io{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.DailyInteraction=r,this.ImportanceRating=n,this.LocationOfInteraction=a,this.RelatedSpaceProgram=o,this.RelatingSpaceProgram=h,this.type=4189434867}};t.IfcRelNests=class extends ao{constructor(t,e,s,i,r,n){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=3268803585}};t.IfcRelOccupiesSpaces=class extends to{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=o,this.type=2051452291}};t.IfcRelOverridesProperties=class extends ho{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingPropertyDefinition=n,this.OverridingProperties=a,this.type=202636808}};t.IfcRelProjectsElement=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedFeatureElement=n,this.type=750771296}};t.IfcRelReferencedInSpatialStructure=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=1245217292}};t.IfcRelSchedulesCostItems=class extends eo{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=1058617721}};t.IfcRelSequence=class extends io{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingProcess=r,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=o,this.type=4122056220}};t.IfcRelServicesBuildings=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSystem=r,this.RelatedBuildings=n,this.type=366585022}};t.IfcRelSpaceBoundary=class extends io{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.type=3451746338}};t.IfcRelVoidsElement=class extends io{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedOpeningElement=n,this.type=1401173127}};class co extends qa{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2914609552}}t.IfcResource=co;t.IfcRevolvedAreaSolid=class extends La{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.Axis=s,this.Angle=i,this.type=1856042241}};t.IfcRightCircularCone=class extends Va{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.BottomRadius=s,this.type=4158566097}};t.IfcRightCircularCylinder=class extends Va{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.Radius=s,this.type=3626867408}};class lo extends Ja{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.type=2706606064}}t.IfcSpatialStructureElement=lo;class po extends Ya{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3893378262}}t.IfcSpatialStructureElementType=po;t.IfcSphere=class extends Va{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=451544542}};class uo extends Ja{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3544373492}}t.IfcStructuralActivity=uo;class Eo extends Ja{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}t.IfcStructuralItem=Eo;class Io extends Eo{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}t.IfcStructuralMember=Io;class yo extends uo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3689010777}}t.IfcStructuralReaction=yo;class To extends Io{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.type=3979015343}}t.IfcStructuralSurfaceMember=To;t.IfcStructuralSurfaceMemberVarying=class extends To{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.SubsequentThickness=c,this.VaryingThicknessLocation=l,this.type=2218152070}};t.IfcStructuredDimensionCallout=class extends ja{constructor(t){super(t),this.Contents=t,this.type=4070609034}};t.IfcSurfaceCurveSweptAreaSolid=class extends La{constructor(t,e,s,i,r,n){super(t,e),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.ReferenceSurface=n,this.type=2028607225}};t.IfcSurfaceOfLinearExtrusion=class extends ba{constructor(t,e,s,i){super(t,e),this.SweptCurve=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}};t.IfcSurfaceOfRevolution=class extends ba{constructor(t,e,s){super(t,e),this.SweptCurve=t,this.Position=e,this.AxisPosition=s,this.type=4124788165}};t.IfcSystemFurnitureElementType=class extends Xa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1580310250}};class No extends Qa{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TaskId=n,this.Status=a,this.WorkMethod=o,this.IsMilestone=h,this.Priority=c,this.type=3473067441}}t.IfcTask=No;t.IfcTransportElementType=class extends Ya{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};class Ro extends qa{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.type=2296667514}}t.IfcActor=Ro;t.IfcAnnotation=class extends Ja{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1674181508}};t.IfcAsymmetricIShapeProfileDef=class extends Ka{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallWidth=i,this.OverallDepth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=l,this.CentreOfGravityInY=p,this.type=3207858831}};t.IfcBlock=class extends Va{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.ZLength=i,this.type=1334484129}};t.IfcBooleanClippingResult=class extends Fa{constructor(t,e,s){super(t,e,s),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=3649129432}};class fo extends Wa{constructor(){super(),this.type=1260505505}}t.IfcBoundedCurve=fo;t.IfcBuilding=class extends lo{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=l,this.BuildingAddress=p,this.type=4031249490}};class Oo extends Ya{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1950629157}}t.IfcBuildingElementType=Oo;t.IfcBuildingStorey=class extends lo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};t.IfcCircleHollowProfileDef=class extends Ba{constructor(t,e,s,i,r){super(t,e,s,i),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.WallThickness=r,this.type=2937912522}};t.IfcColumnType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};class Do extends fo{constructor(t,e){super(),this.Segments=t,this.SelfIntersect=e,this.type=3732776249}}t.IfcCompositeCurve=Do;class mo extends Wa{constructor(t){super(),this.Position=t,this.type=2510884976}}t.IfcConic=mo;class Ao extends co{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.type=2559216714}}t.IfcConstructionResource=Ao;class So extends qa{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3293443760}}t.IfcControl=So;t.IfcCostItem=class extends So{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3895139033}};t.IfcCostSchedule=class extends So{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.SubmittedBy=n,this.PreparedBy=a,this.SubmittedOn=o,this.Status=h,this.TargetUsers=c,this.UpdateDate=l,this.ID=p,this.PredefinedType=u,this.type=1419761937}};t.IfcCoveringType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};t.IfcCrewResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.type=3295246426}};t.IfcCurtainWallType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};class Co extends ja{constructor(t){super(t),this.Contents=t,this.type=681481545}}t.IfcDimensionCurveDirectedCallout=Co;class vo extends Ya{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3256556792}}t.IfcDistributionElementType=vo;class Lo extends vo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3849074793}}t.IfcDistributionFlowElementType=Lo;t.IfcElectricalBaseProperties=class extends ka{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.EnergySequence=r,this.UserDefinedEnergySequence=n,this.ElectricCurrentType=a,this.InputVoltage=o,this.InputFrequency=h,this.FullLoadCurrent=c,this.MinimumCircuitCurrent=l,this.MaximumPowerInput=p,this.RatedPowerInput=u,this.InputPhase=E,this.type=360485395}};class bo extends Ja{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1758889154}}t.IfcElement=bo;t.IfcElementAssembly=class extends bo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};class Po extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1623761950}}t.IfcElementComponent=Po;class go extends Ya{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2590856083}}t.IfcElementComponentType=go;t.IfcEllipse=class extends mo{constructor(t,e,s){super(t),this.Position=t,this.SemiAxis1=e,this.SemiAxis2=s,this.type=1704287377}};class xo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2107101300}}t.IfcEnergyConversionDeviceType=xo;t.IfcEquipmentElement=class extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1962604670}};t.IfcEquipmentStandard=class extends So{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3272907226}};t.IfcEvaporativeCoolerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};t.IfcEvaporatorType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};t.IfcFacetedBrep=class extends Za{constructor(t){super(t),this.Outer=t,this.type=807026263}};t.IfcFacetedBrepWithVoids=class extends Za{constructor(t,e){super(t),this.Outer=t,this.Voids=e,this.type=3737207727}};class _o extends Po{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=647756555}}t.IfcFastener=_o;class Mo extends go{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2489546625}}t.IfcFastenerType=Mo;class Fo extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2827207264}}t.IfcFeatureElement=Fo;class Uo extends Fo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2143335405}}t.IfcFeatureElementAddition=Uo;class wo extends Fo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1287392070}}t.IfcFeatureElementSubtraction=wo;class Go extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3907093117}}t.IfcFlowControllerType=Go;class Ho extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3198132628}}t.IfcFlowFittingType=Ho;t.IfcFlowMeterType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class Bo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1482959167}}t.IfcFlowMovingDeviceType=Bo;class Vo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1834744321}}t.IfcFlowSegmentType=Vo;class Wo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1339347760}}t.IfcFlowStorageDeviceType=Wo;class jo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2297155007}}t.IfcFlowTerminalType=jo;class Yo extends Lo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3009222698}}t.IfcFlowTreatmentDeviceType=Yo;t.IfcFurnishingElement=class extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=263784265}};t.IfcFurnitureStandard=class extends So{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=814719939}};t.IfcGasTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=200128114}};t.IfcGrid=class extends Ja{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.UAxes=o,this.VAxes=h,this.WAxes=c,this.type=3009204131}};class zo extends qa{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2706460486}}t.IfcGroup=zo;t.IfcHeatExchangerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};t.IfcHumidifierType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};t.IfcInventory=class extends zo{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.InventoryType=n,this.Jurisdiction=a,this.ResponsiblePersons=o,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=l,this.type=2391368822}};t.IfcJunctionBoxType=class extends Ho{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};t.IfcLaborResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.SkillSet=c,this.type=3827777499}};t.IfcLampType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};t.IfcLightFixtureType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};t.IfcLinearDimension=class extends Co{constructor(t){super(t),this.Contents=t,this.type=2506943328}};t.IfcMechanicalFastener=class extends _o{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NominalDiameter=h,this.NominalLength=c,this.type=377706215}};t.IfcMechanicalFastenerType=class extends Mo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2108223431}};t.IfcMemberType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};t.IfcMotorConnectionType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};t.IfcMove=class extends No{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TaskId=n,this.Status=a,this.WorkMethod=o,this.IsMilestone=h,this.Priority=c,this.MoveFrom=l,this.MoveTo=p,this.PunchList=u,this.type=1916936684}};t.IfcOccupant=class extends Ro{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};t.IfcOpeningElement=class extends wo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3588315303}};t.IfcOrderAction=class extends No{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TaskId=n,this.Status=a,this.WorkMethod=o,this.IsMilestone=h,this.Priority=c,this.ActionID=l,this.type=3425660407}};t.IfcOutletType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};t.IfcPerformanceHistory=class extends So{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LifeCyclePhase=n,this.type=2382730787}};t.IfcPermit=class extends So{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PermitID=n,this.type=3327091369}};t.IfcPipeFittingType=class extends Ho{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};t.IfcPipeSegmentType=class extends Vo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};t.IfcPlateType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};t.IfcPolyline=class extends fo{constructor(t){super(),this.Points=t,this.type=3724593414}};class ko extends Ja{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}t.IfcPort=ko;t.IfcProcedure=class extends Qa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ProcedureID=n,this.ProcedureType=a,this.UserDefinedProcedureType=o,this.type=2744685151}};t.IfcProjectOrder=class extends So{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ID=n,this.PredefinedType=a,this.Status=o,this.type=2904328755}};t.IfcProjectOrderRecord=class extends So{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Records=n,this.PredefinedType=a,this.type=3642467123}};t.IfcProjectionElement=class extends Uo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3651124850}};t.IfcProtectiveDeviceType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};t.IfcPumpType=class extends Bo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};t.IfcRadiusDimension=class extends Co{constructor(t){super(t),this.Contents=t,this.type=3248260540}};t.IfcRailingType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};t.IfcRampFlightType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};t.IfcRelAggregates=class extends ao{constructor(t,e,s,i,r,n){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=160246688}};t.IfcRelAssignsTasks=class extends eo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.TimeForTask=o,this.type=2863920197}};t.IfcSanitaryTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};t.IfcScheduleTimeControl=class extends So{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f,O,D){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ActualStart=n,this.EarlyStart=a,this.LateStart=o,this.ScheduleStart=h,this.ActualFinish=c,this.EarlyFinish=l,this.LateFinish=p,this.ScheduleFinish=u,this.ScheduleDuration=E,this.ActualDuration=I,this.RemainingTime=y,this.FreeFloat=T,this.TotalFloat=d,this.IsCritical=N,this.StatusTime=R,this.StartFloat=f,this.FinishFloat=O,this.Completion=D,this.type=3517283431}};t.IfcServiceLife=class extends So{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ServiceLifeType=n,this.ServiceLifeDuration=a,this.type=4105383287}};t.IfcSite=class extends lo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=l,this.RefElevation=p,this.LandTitleNumber=u,this.SiteAddress=E,this.type=4097777520}};t.IfcSlabType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};t.IfcSpace=class extends lo{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.InteriorOrExteriorSpace=c,this.ElevationWithFlooring=l,this.type=3856911033}};t.IfcSpaceHeaterType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};t.IfcSpaceProgram=class extends So{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.SpaceProgramIdentifier=n,this.MaxRequiredArea=a,this.MinRequiredArea=o,this.RequestedLocation=h,this.StandardRequiredArea=c,this.type=652456506}};t.IfcSpaceType=class extends po{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3812236995}};t.IfcStackTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};t.IfcStairFlightType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};class Xo extends uo{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.type=682877961}}t.IfcStructuralAction=Xo;class Ko extends Eo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1179482911}}t.IfcStructuralConnection=Ko;t.IfcStructuralCurveConnection=class extends Ko{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=4243806635}};class Zo extends Io{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.type=214636428}}t.IfcStructuralCurveMember=Zo;t.IfcStructuralCurveMemberVarying=class extends Zo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.type=2445595289}};class qo extends Xo{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.ProjectedOrTrue=p,this.type=1807405624}}t.IfcStructuralLinearAction=qo;t.IfcStructuralLinearActionVarying=class extends qo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.ProjectedOrTrue=p,this.VaryingAppliedLoadLocation=u,this.SubsequentAppliedLoads=E,this.type=1721250024}};t.IfcStructuralLoadGroup=class extends zo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.ActionType=a,this.ActionSource=o,this.Coefficient=h,this.Purpose=c,this.type=1252848954}};class Qo extends Xo{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.ProjectedOrTrue=p,this.type=1621171031}}t.IfcStructuralPlanarAction=Qo;t.IfcStructuralPlanarActionVarying=class extends Qo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.ProjectedOrTrue=p,this.VaryingAppliedLoadLocation=u,this.SubsequentAppliedLoads=E,this.type=3987759626}};t.IfcStructuralPointAction=class extends Xo{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=l,this.type=2082059205}};t.IfcStructuralPointConnection=class extends Ko{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=734778138}};t.IfcStructuralPointReaction=class extends yo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=1235345126}};t.IfcStructuralResultGroup=class extends zo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=o,this.type=2986769608}};t.IfcStructuralSurfaceConnection=class extends Ko{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1975003073}};t.IfcSubContractResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.SubContractor=c,this.JobDescription=l,this.type=148013059}};t.IfcSwitchingDeviceType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class Jo extends zo{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2254336722}}t.IfcSystem=Jo;t.IfcTankType=class extends Wo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};t.IfcTimeSeriesSchedule=class extends So{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ApplicableDates=n,this.TimeSeriesScheduleType=a,this.TimeSeries=o,this.type=1637806684}};t.IfcTransformerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};t.IfcTransportElement=class extends bo{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OperationType=h,this.CapacityByWeight=c,this.CapacityByNumber=l,this.type=1620046519}};t.IfcTrimmedCurve=class extends fo{constructor(t,e,s,i,r){super(),this.BasisCurve=t,this.Trim1=e,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=r,this.type=3593883385}};t.IfcTubeBundleType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};t.IfcUnitaryEquipmentType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};t.IfcValveType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};t.IfcVirtualElement=class extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2769231204}};t.IfcWallType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};t.IfcWasteTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};class $o extends So{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identifier=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.WorkControlType=E,this.UserDefinedControlType=I,this.type=1028945134}}t.IfcWorkControl=$o;t.IfcWorkPlan=class extends $o{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identifier=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.WorkControlType=E,this.UserDefinedControlType=I,this.type=4218914973}};t.IfcWorkSchedule=class extends $o{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identifier=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.WorkControlType=E,this.UserDefinedControlType=I,this.type=3342526732}};t.IfcZone=class extends zo{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=1033361043}};t.Ifc2DCompositeCurve=class extends Do{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=1213861670}};t.IfcActionRequest=class extends So{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.RequestID=n,this.type=3821786052}};t.IfcAirTerminalBoxType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};t.IfcAirTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};t.IfcAirToAirHeatRecoveryType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};t.IfcAngularDimension=class extends Co{constructor(t){super(t),this.Contents=t,this.type=2470393545}};t.IfcAsset=class extends zo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.AssetID=n,this.OriginalValue=a,this.CurrentValue=o,this.TotalReplacementCost=h,this.Owner=c,this.User=l,this.ResponsiblePerson=p,this.IncorporationDate=u,this.DepreciatedValue=E,this.type=3460190687}};class th extends fo{constructor(t,e,s,i,r){super(),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.type=1967976161}}t.IfcBSplineCurve=th;t.IfcBeamType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};class eh extends th{constructor(t,e,s,i,r){super(t,e,s,i,r),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.type=1916977116}}t.IfcBezierCurve=eh;t.IfcBoilerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class sh extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3299480353}}t.IfcBuildingElement=sh;class ih extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=52481810}}t.IfcBuildingElementComponent=ih;t.IfcBuildingElementPart=class extends ih{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2979338954}};t.IfcBuildingElementProxy=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.CompositionType=h,this.type=1095909175}};t.IfcBuildingElementProxyType=class extends Oo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};t.IfcCableCarrierFittingType=class extends Ho{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};t.IfcCableCarrierSegmentType=class extends Vo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};t.IfcCableSegmentType=class extends Vo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};t.IfcChillerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};t.IfcCircle=class extends mo{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=2611217952}};t.IfcCoilType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};t.IfcColumn=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=843113511}};t.IfcCompressorType=class extends Bo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};t.IfcCondenserType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};t.IfcCondition=class extends zo{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2188551683}};t.IfcConditionCriterion=class extends So{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Criterion=n,this.CriterionDateTime=a,this.type=1163958913}};t.IfcConstructionEquipmentResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.type=3898045240}};t.IfcConstructionMaterialResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.Suppliers=c,this.UsageRatio=l,this.type=1060000209}};t.IfcConstructionProductResource=class extends Ao{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=o,this.BaseQuantity=h,this.type=488727124}};t.IfcCooledBeamType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};t.IfcCoolingTowerType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};t.IfcCovering=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1973544240}};t.IfcCurtainWall=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3495092785}};t.IfcDamperType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};t.IfcDiameterDimension=class extends Co{constructor(t){super(t),this.Contents=t,this.type=4147604152}};t.IfcDiscreteAccessory=class extends Po{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1335981549}};class rh extends go{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2635815018}}t.IfcDiscreteAccessoryType=rh;t.IfcDistributionChamberElementType=class extends Lo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class nh extends vo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2063403501}}t.IfcDistributionControlElementType=nh;class ah extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1945004755}}t.IfcDistributionElement=ah;class oh extends ah{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3040386961}}t.IfcDistributionFlowElement=oh;t.IfcDistributionPort=class extends ko{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=o,this.type=3041715199}};t.IfcDoor=class extends sh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.type=395920057}};t.IfcDuctFittingType=class extends Ho{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};t.IfcDuctSegmentType=class extends Vo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};t.IfcDuctSilencerType=class extends Yo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};class hh extends wo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.FeatureLength=h,this.type=855621170}}t.IfcEdgeFeature=hh;t.IfcElectricApplianceType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};t.IfcElectricFlowStorageDeviceType=class extends Wo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};t.IfcElectricGeneratorType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};t.IfcElectricHeaterType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1365060375}};t.IfcElectricMotorType=class extends xo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};t.IfcElectricTimeControlType=class extends Go{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};t.IfcElectricalCircuit=class extends Jo{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=1634875225}};t.IfcElectricalElement=class extends bo{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=857184966}};t.IfcEnergyConversionDevice=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1658829314}};t.IfcFanType=class extends Bo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};t.IfcFilterType=class extends Yo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};t.IfcFireSuppressionTerminalType=class extends jo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class ch extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2058353004}}t.IfcFlowController=ch;t.IfcFlowFitting=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=4278956645}};t.IfcFlowInstrumentType=class extends nh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};t.IfcFlowMovingDevice=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3132237377}};t.IfcFlowSegment=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=987401354}};t.IfcFlowStorageDevice=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=707683696}};t.IfcFlowTerminal=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2223149337}};t.IfcFlowTreatmentDevice=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3508470533}};t.IfcFooting=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=900683007}};t.IfcMember=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1073191201}};t.IfcPile=class extends sh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};t.IfcPlate=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3171933400}};t.IfcRailing=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2262370178}};t.IfcRamp=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.ShapeType=h,this.type=3024970846}};t.IfcRampFlight=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3283111854}};t.IfcRationalBezierCurve=class extends eh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.WeightsData=n,this.type=3055160366}};class lh extends ih{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.type=3027567501}}t.IfcReinforcingElement=lh;t.IfcReinforcingMesh=class extends lh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=l,this.LongitudinalBarNominalDiameter=p,this.TransverseBarNominalDiameter=u,this.LongitudinalBarCrossSectionArea=E,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=y,this.TransverseBarSpacing=T,this.type=2320036040}};t.IfcRoof=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.ShapeType=h,this.type=2016517767}};t.IfcRoundedEdgeFeature=class extends hh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.FeatureLength=h,this.Radius=c,this.type=1376911519}};t.IfcSensorType=class extends nh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};t.IfcSlab=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1529196076}};t.IfcStair=class extends sh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.ShapeType=h,this.type=331165859}};t.IfcStairFlight=class extends sh{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NumberOfRiser=h,this.NumberOfTreads=c,this.RiserHeight=l,this.TreadLength=p,this.type=4252922144}};t.IfcStructuralAnalysisModel=class extends Jo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=o,this.HasResults=h,this.type=2515109513}};t.IfcTendon=class extends lh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.TensionForce=u,this.PreStress=E,this.FrictionCoefficient=I,this.AnchorageSlip=y,this.MinCurvatureRadius=T,this.type=3824725483}};t.IfcTendonAnchor=class extends lh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.type=2347447852}};t.IfcVibrationIsolatorType=class extends rh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};class ph extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2391406946}}t.IfcWall=ph;t.IfcWallStandardCase=class extends ph{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3512223829}};t.IfcWindow=class extends sh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.type=3304561284}};t.IfcActuatorType=class extends nh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};t.IfcAlarmType=class extends nh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};t.IfcBeam=class extends sh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=753842376}};t.IfcChamferEdgeFeature=class extends hh{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.FeatureLength=h,this.Width=c,this.Height=l,this.type=2454782716}};t.IfcControllerType=class extends nh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};t.IfcDistributionChamberElement=class extends oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1052013943}};t.IfcDistributionControlElement=class extends ah{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.ControlElementId=h,this.type=1062813311}};t.IfcElectricDistributionPoint=class extends ch{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.DistributionPointFunction=h,this.UserDefinedFunction=c,this.type=3700593921}};t.IfcReinforcingBar=class extends lh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=l,this.BarLength=p,this.BarRole=u,this.BarSurface=E,this.type=979691226}}})(_u||(_u={})),Hu[1]={3699917729:t=>new Mu.IfcAbsorbedDoseMeasure(t),4182062534:t=>new Mu.IfcAccelerationMeasure(t),360377573:t=>new Mu.IfcAmountOfSubstanceMeasure(t),632304761:t=>new Mu.IfcAngularVelocityMeasure(t),3683503648:t=>new Mu.IfcArcIndex(t.map((t=>t.value))),1500781891:t=>new Mu.IfcAreaDensityMeasure(t),2650437152:t=>new Mu.IfcAreaMeasure(t),2314439260:t=>new Mu.IfcBinary(t),2735952531:t=>new Mu.IfcBoolean(t),1867003952:t=>new Mu.IfcBoxAlignment(t),1683019596:t=>new Mu.IfcCardinalPointReference(t),2991860651:t=>new Mu.IfcComplexNumber(t.map((t=>t.value))),3812528620:t=>new Mu.IfcCompoundPlaneAngleMeasure(t.map((t=>t.value))),3238673880:t=>new Mu.IfcContextDependentMeasure(t),1778710042:t=>new Mu.IfcCountMeasure(t),94842927:t=>new Mu.IfcCurvatureMeasure(t),937566702:t=>new Mu.IfcDate(t),2195413836:t=>new Mu.IfcDateTime(t),86635668:t=>new Mu.IfcDayInMonthNumber(t),3701338814:t=>new Mu.IfcDayInWeekNumber(t),1514641115:t=>new Mu.IfcDescriptiveMeasure(t),4134073009:t=>new Mu.IfcDimensionCount(t),524656162:t=>new Mu.IfcDoseEquivalentMeasure(t),2541165894:t=>new Mu.IfcDuration(t),69416015:t=>new Mu.IfcDynamicViscosityMeasure(t),1827137117:t=>new Mu.IfcElectricCapacitanceMeasure(t),3818826038:t=>new Mu.IfcElectricChargeMeasure(t),2093906313:t=>new Mu.IfcElectricConductanceMeasure(t),3790457270:t=>new Mu.IfcElectricCurrentMeasure(t),2951915441:t=>new Mu.IfcElectricResistanceMeasure(t),2506197118:t=>new Mu.IfcElectricVoltageMeasure(t),2078135608:t=>new Mu.IfcEnergyMeasure(t),1102727119:t=>new Mu.IfcFontStyle(t),2715512545:t=>new Mu.IfcFontVariant(t),2590844177:t=>new Mu.IfcFontWeight(t),1361398929:t=>new Mu.IfcForceMeasure(t),3044325142:t=>new Mu.IfcFrequencyMeasure(t),3064340077:t=>new Mu.IfcGloballyUniqueId(t),3113092358:t=>new Mu.IfcHeatFluxDensityMeasure(t),1158859006:t=>new Mu.IfcHeatingValueMeasure(t),983778844:t=>new Mu.IfcIdentifier(t),3358199106:t=>new Mu.IfcIlluminanceMeasure(t),2679005408:t=>new Mu.IfcInductanceMeasure(t),1939436016:t=>new Mu.IfcInteger(t),3809634241:t=>new Mu.IfcIntegerCountRateMeasure(t),3686016028:t=>new Mu.IfcIonConcentrationMeasure(t),3192672207:t=>new Mu.IfcIsothermalMoistureCapacityMeasure(t),2054016361:t=>new Mu.IfcKinematicViscosityMeasure(t),3258342251:t=>new Mu.IfcLabel(t),1275358634:t=>new Mu.IfcLanguageId(t),1243674935:t=>new Mu.IfcLengthMeasure(t),1774176899:t=>new Mu.IfcLineIndex(t.map((t=>t.value))),191860431:t=>new Mu.IfcLinearForceMeasure(t),2128979029:t=>new Mu.IfcLinearMomentMeasure(t),1307019551:t=>new Mu.IfcLinearStiffnessMeasure(t),3086160713:t=>new Mu.IfcLinearVelocityMeasure(t),503418787:t=>new Mu.IfcLogical(t),2095003142:t=>new Mu.IfcLuminousFluxMeasure(t),2755797622:t=>new Mu.IfcLuminousIntensityDistributionMeasure(t),151039812:t=>new Mu.IfcLuminousIntensityMeasure(t),286949696:t=>new Mu.IfcMagneticFluxDensityMeasure(t),2486716878:t=>new Mu.IfcMagneticFluxMeasure(t),1477762836:t=>new Mu.IfcMassDensityMeasure(t),4017473158:t=>new Mu.IfcMassFlowRateMeasure(t),3124614049:t=>new Mu.IfcMassMeasure(t),3531705166:t=>new Mu.IfcMassPerLengthMeasure(t),3341486342:t=>new Mu.IfcModulusOfElasticityMeasure(t),2173214787:t=>new Mu.IfcModulusOfLinearSubgradeReactionMeasure(t),1052454078:t=>new Mu.IfcModulusOfRotationalSubgradeReactionMeasure(t),1753493141:t=>new Mu.IfcModulusOfSubgradeReactionMeasure(t),3177669450:t=>new Mu.IfcMoistureDiffusivityMeasure(t),1648970520:t=>new Mu.IfcMolecularWeightMeasure(t),3114022597:t=>new Mu.IfcMomentOfInertiaMeasure(t),2615040989:t=>new Mu.IfcMonetaryMeasure(t),765770214:t=>new Mu.IfcMonthInYearNumber(t),525895558:t=>new Mu.IfcNonNegativeLengthMeasure(t),2095195183:t=>new Mu.IfcNormalisedRatioMeasure(t),2395907400:t=>new Mu.IfcNumericMeasure(t),929793134:t=>new Mu.IfcPHMeasure(t),2260317790:t=>new Mu.IfcParameterValue(t),2642773653:t=>new Mu.IfcPlanarForceMeasure(t),4042175685:t=>new Mu.IfcPlaneAngleMeasure(t),1790229001:t=>new Mu.IfcPositiveInteger(t),2815919920:t=>new Mu.IfcPositiveLengthMeasure(t),3054510233:t=>new Mu.IfcPositivePlaneAngleMeasure(t),1245737093:t=>new Mu.IfcPositiveRatioMeasure(t),1364037233:t=>new Mu.IfcPowerMeasure(t),2169031380:t=>new Mu.IfcPresentableText(t),3665567075:t=>new Mu.IfcPressureMeasure(t),2798247006:t=>new Mu.IfcPropertySetDefinitionSet(t.map((t=>t.value))),3972513137:t=>new Mu.IfcRadioActivityMeasure(t),96294661:t=>new Mu.IfcRatioMeasure(t),200335297:t=>new Mu.IfcReal(t),2133746277:t=>new Mu.IfcRotationalFrequencyMeasure(t),1755127002:t=>new Mu.IfcRotationalMassMeasure(t),3211557302:t=>new Mu.IfcRotationalStiffnessMeasure(t),3467162246:t=>new Mu.IfcSectionModulusMeasure(t),2190458107:t=>new Mu.IfcSectionalAreaIntegralMeasure(t),408310005:t=>new Mu.IfcShearModulusMeasure(t),3471399674:t=>new Mu.IfcSolidAngleMeasure(t),4157543285:t=>new Mu.IfcSoundPowerLevelMeasure(t),846465480:t=>new Mu.IfcSoundPowerMeasure(t),3457685358:t=>new Mu.IfcSoundPressureLevelMeasure(t),993287707:t=>new Mu.IfcSoundPressureMeasure(t),3477203348:t=>new Mu.IfcSpecificHeatCapacityMeasure(t),2757832317:t=>new Mu.IfcSpecularExponent(t),361837227:t=>new Mu.IfcSpecularRoughness(t),58845555:t=>new Mu.IfcTemperatureGradientMeasure(t),1209108979:t=>new Mu.IfcTemperatureRateOfChangeMeasure(t),2801250643:t=>new Mu.IfcText(t),1460886941:t=>new Mu.IfcTextAlignment(t),3490877962:t=>new Mu.IfcTextDecoration(t),603696268:t=>new Mu.IfcTextFontName(t),296282323:t=>new Mu.IfcTextTransformation(t),232962298:t=>new Mu.IfcThermalAdmittanceMeasure(t),2645777649:t=>new Mu.IfcThermalConductivityMeasure(t),2281867870:t=>new Mu.IfcThermalExpansionCoefficientMeasure(t),857959152:t=>new Mu.IfcThermalResistanceMeasure(t),2016195849:t=>new Mu.IfcThermalTransmittanceMeasure(t),743184107:t=>new Mu.IfcThermodynamicTemperatureMeasure(t),4075327185:t=>new Mu.IfcTime(t),2726807636:t=>new Mu.IfcTimeMeasure(t),2591213694:t=>new Mu.IfcTimeStamp(t),1278329552:t=>new Mu.IfcTorqueMeasure(t),950732822:t=>new Mu.IfcURIReference(t),3345633955:t=>new Mu.IfcVaporPermeabilityMeasure(t),3458127941:t=>new Mu.IfcVolumeMeasure(t),2593997549:t=>new Mu.IfcVolumetricFlowRateMeasure(t),51269191:t=>new Mu.IfcWarpingConstantMeasure(t),1718600412:t=>new Mu.IfcWarpingMomentMeasure(t)},(t=>{t.IfcAbsorbedDoseMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCABSORBEDDOSEMEASURE"}};t.IfcAccelerationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCACCELERATIONMEASURE"}};t.IfcAmountOfSubstanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAMOUNTOFSUBSTANCEMEASURE"}};t.IfcAngularVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCANGULARVELOCITYMEASURE"}};t.IfcArcIndex=class{constructor(t){this.value=t,this.type=5}};t.IfcAreaDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAREADENSITYMEASURE"}};t.IfcAreaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAREAMEASURE"}};t.IfcBinary=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCBINARY"}};t.IfcBoolean=class{constructor(t){this.type=3,this.name="IFCBOOLEAN",this.value=t}};t.IfcBoxAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCBOXALIGNMENT"}};t.IfcCardinalPointReference=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCCARDINALPOINTREFERENCE"}};t.IfcComplexNumber=class{constructor(t){this.value=t,this.type=4}};t.IfcCompoundPlaneAngleMeasure=class{constructor(t){this.value=t,this.type=10}};t.IfcContextDependentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCONTEXTDEPENDENTMEASURE"}};t.IfcCountMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCOUNTMEASURE"}};t.IfcCurvatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCURVATUREMEASURE"}};t.IfcDate=class{constructor(t){this.value=t,this.type=1,this.name="IFCDATE"}};t.IfcDateTime=class{constructor(t){this.value=t,this.type=1,this.name="IFCDATETIME"}};t.IfcDayInMonthNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINMONTHNUMBER"}};t.IfcDayInWeekNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINWEEKNUMBER"}};t.IfcDescriptiveMeasure=class{constructor(t){this.value=t,this.type=1,this.name="IFCDESCRIPTIVEMEASURE"}};class e extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDIMENSIONCOUNT"}}t.IfcDimensionCount=e;t.IfcDoseEquivalentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDOSEEQUIVALENTMEASURE"}};t.IfcDuration=class{constructor(t){this.value=t,this.type=1,this.name="IFCDURATION"}};t.IfcDynamicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDYNAMICVISCOSITYMEASURE"}};t.IfcElectricCapacitanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCAPACITANCEMEASURE"}};t.IfcElectricChargeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCHARGEMEASURE"}};t.IfcElectricConductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCONDUCTANCEMEASURE"}};t.IfcElectricCurrentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCURRENTMEASURE"}};t.IfcElectricResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICRESISTANCEMEASURE"}};t.IfcElectricVoltageMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICVOLTAGEMEASURE"}};t.IfcEnergyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCENERGYMEASURE"}};t.IfcFontStyle=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTSTYLE"}};t.IfcFontVariant=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTVARIANT"}};t.IfcFontWeight=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTWEIGHT"}};t.IfcForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFORCEMEASURE"}};t.IfcFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFREQUENCYMEASURE"}};t.IfcGloballyUniqueId=class{constructor(t){this.value=t,this.type=1,this.name="IFCGLOBALLYUNIQUEID"}};t.IfcHeatFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATFLUXDENSITYMEASURE"}};t.IfcHeatingValueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATINGVALUEMEASURE"}};t.IfcIdentifier=class{constructor(t){this.value=t,this.type=1,this.name="IFCIDENTIFIER"}};t.IfcIlluminanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCILLUMINANCEMEASURE"}};t.IfcInductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCINDUCTANCEMEASURE"}};t.IfcInteger=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGER"}};t.IfcIntegerCountRateMeasure=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGERCOUNTRATEMEASURE"}};t.IfcIonConcentrationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCIONCONCENTRATIONMEASURE"}};t.IfcIsothermalMoistureCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCISOTHERMALMOISTURECAPACITYMEASURE"}};t.IfcKinematicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCKINEMATICVISCOSITYMEASURE"}};t.IfcLabel=class{constructor(t){this.value=t,this.type=1,this.name="IFCLABEL"}};t.IfcLanguageId=class{constructor(t){this.value=t,this.type=1,this.name="IFCLANGUAGEID"}};t.IfcLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLENGTHMEASURE"}};t.IfcLineIndex=class{constructor(t){this.value=t,this.type=5}};t.IfcLinearForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARFORCEMEASURE"}};t.IfcLinearMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARMOMENTMEASURE"}};t.IfcLinearStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARSTIFFNESSMEASURE"}};t.IfcLinearVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARVELOCITYMEASURE"}};t.IfcLogical=class{constructor(t){this.type=3,this.name="IFCLOGICAL",this.value=t}};t.IfcLuminousFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSFLUXMEASURE"}};t.IfcLuminousIntensityDistributionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE"}};t.IfcLuminousIntensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYMEASURE"}};t.IfcMagneticFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXDENSITYMEASURE"}};t.IfcMagneticFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXMEASURE"}};t.IfcMassDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSDENSITYMEASURE"}};t.IfcMassFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSFLOWRATEMEASURE"}};t.IfcMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSMEASURE"}};t.IfcMassPerLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSPERLENGTHMEASURE"}};t.IfcModulusOfElasticityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFELASTICITYMEASURE"}};t.IfcModulusOfLinearSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfRotationalSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFSUBGRADEREACTIONMEASURE"}};t.IfcMoistureDiffusivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOISTUREDIFFUSIVITYMEASURE"}};t.IfcMolecularWeightMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOLECULARWEIGHTMEASURE"}};t.IfcMomentOfInertiaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOMENTOFINERTIAMEASURE"}};t.IfcMonetaryMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMONETARYMEASURE"}};t.IfcMonthInYearNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCMONTHINYEARNUMBER"}};t.IfcNonNegativeLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNONNEGATIVELENGTHMEASURE"}};t.IfcNormalisedRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNORMALISEDRATIOMEASURE"}};t.IfcNumericMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNUMERICMEASURE"}};t.IfcPHMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPHMEASURE"}};t.IfcParameterValue=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPARAMETERVALUE"}};t.IfcPlanarForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANARFORCEMEASURE"}};t.IfcPlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANEANGLEMEASURE"}};t.IfcPositiveInteger=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCPOSITIVEINTEGER"}};t.IfcPositiveLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVELENGTHMEASURE"}};t.IfcPositivePlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVEPLANEANGLEMEASURE"}};t.IfcPositiveRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVERATIOMEASURE"}};t.IfcPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOWERMEASURE"}};t.IfcPresentableText=class{constructor(t){this.value=t,this.type=1,this.name="IFCPRESENTABLETEXT"}};t.IfcPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPRESSUREMEASURE"}};t.IfcPropertySetDefinitionSet=class{constructor(t){this.value=t,this.type=5}};t.IfcRadioActivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRADIOACTIVITYMEASURE"}};t.IfcRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRATIOMEASURE"}};t.IfcReal=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCREAL"}};t.IfcRotationalFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALFREQUENCYMEASURE"}};t.IfcRotationalMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALMASSMEASURE"}};t.IfcRotationalStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALSTIFFNESSMEASURE"}};t.IfcSectionModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONMODULUSMEASURE"}};t.IfcSectionalAreaIntegralMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONALAREAINTEGRALMEASURE"}};t.IfcShearModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSHEARMODULUSMEASURE"}};t.IfcSolidAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOLIDANGLEMEASURE"}};t.IfcSoundPowerLevelMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERLEVELMEASURE"}};t.IfcSoundPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERMEASURE"}};t.IfcSoundPressureLevelMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSURELEVELMEASURE"}};t.IfcSoundPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSUREMEASURE"}};t.IfcSpecificHeatCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECIFICHEATCAPACITYMEASURE"}};t.IfcSpecularExponent=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULAREXPONENT"}};t.IfcSpecularRoughness=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULARROUGHNESS"}};t.IfcTemperatureGradientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATUREGRADIENTMEASURE"}};t.IfcTemperatureRateOfChangeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATURERATEOFCHANGEMEASURE"}};t.IfcText=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXT"}};t.IfcTextAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTALIGNMENT"}};t.IfcTextDecoration=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTDECORATION"}};t.IfcTextFontName=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTFONTNAME"}};t.IfcTextTransformation=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTTRANSFORMATION"}};t.IfcThermalAdmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALADMITTANCEMEASURE"}};t.IfcThermalConductivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALCONDUCTIVITYMEASURE"}};t.IfcThermalExpansionCoefficientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALEXPANSIONCOEFFICIENTMEASURE"}};t.IfcThermalResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALRESISTANCEMEASURE"}};t.IfcThermalTransmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALTRANSMITTANCEMEASURE"}};t.IfcThermodynamicTemperatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMODYNAMICTEMPERATUREMEASURE"}};t.IfcTime=class{constructor(t){this.value=t,this.type=1,this.name="IFCTIME"}};t.IfcTimeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTIMEMEASURE"}};t.IfcTimeStamp=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCTIMESTAMP"}};t.IfcTorqueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTORQUEMEASURE"}};t.IfcURIReference=class{constructor(t){this.value=t,this.type=1,this.name="IFCURIREFERENCE"}};t.IfcVaporPermeabilityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVAPORPERMEABILITYMEASURE"}};t.IfcVolumeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMEMEASURE"}};t.IfcVolumetricFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMETRICFLOWRATEMEASURE"}};t.IfcWarpingConstantMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGCONSTANTMEASURE"}};t.IfcWarpingMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGMOMENTMEASURE"}};const s=class{};s.EMAIL={type:3,value:"EMAIL"},s.FAX={type:3,value:"FAX"},s.PHONE={type:3,value:"PHONE"},s.POST={type:3,value:"POST"},s.VERBAL={type:3,value:"VERBAL"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"};let i=s;t.IfcActionRequestTypeEnum=i;const r=class{};r.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},r.COMPLETION_G1={type:3,value:"COMPLETION_G1"},r.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},r.SNOW_S={type:3,value:"SNOW_S"},r.WIND_W={type:3,value:"WIND_W"},r.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},r.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},r.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},r.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},r.FIRE={type:3,value:"FIRE"},r.IMPULSE={type:3,value:"IMPULSE"},r.IMPACT={type:3,value:"IMPACT"},r.TRANSPORT={type:3,value:"TRANSPORT"},r.ERECTION={type:3,value:"ERECTION"},r.PROPPING={type:3,value:"PROPPING"},r.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},r.SHRINKAGE={type:3,value:"SHRINKAGE"},r.CREEP={type:3,value:"CREEP"},r.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},r.BUOYANCY={type:3,value:"BUOYANCY"},r.ICE={type:3,value:"ICE"},r.CURRENT={type:3,value:"CURRENT"},r.WAVE={type:3,value:"WAVE"},r.RAIN={type:3,value:"RAIN"},r.BRAKES={type:3,value:"BRAKES"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"};let n=r;t.IfcActionSourceTypeEnum=n;const a=class{};a.PERMANENT_G={type:3,value:"PERMANENT_G"},a.VARIABLE_Q={type:3,value:"VARIABLE_Q"},a.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"};let o=a;t.IfcActionTypeEnum=o;const h=class{};h.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},h.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},h.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},h.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},h.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"};let c=h;t.IfcActuatorTypeEnum=c;const l=class{};l.OFFICE={type:3,value:"OFFICE"},l.SITE={type:3,value:"SITE"},l.HOME={type:3,value:"HOME"},l.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},l.USERDEFINED={type:3,value:"USERDEFINED"};let p=l;t.IfcAddressTypeEnum=p;const u=class{};u.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},u.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},u.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"};let E=u;t.IfcAirTerminalBoxTypeEnum=E;const I=class{};I.DIFFUSER={type:3,value:"DIFFUSER"},I.GRILLE={type:3,value:"GRILLE"},I.LOUVRE={type:3,value:"LOUVRE"},I.REGISTER={type:3,value:"REGISTER"},I.USERDEFINED={type:3,value:"USERDEFINED"},I.NOTDEFINED={type:3,value:"NOTDEFINED"};let y=I;t.IfcAirTerminalTypeEnum=y;const T=class{};T.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},T.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},T.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},T.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},T.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},T.HEATPIPE={type:3,value:"HEATPIPE"},T.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},T.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},T.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"};let d=T;t.IfcAirToAirHeatRecoveryTypeEnum=d;const N=class{};N.BELL={type:3,value:"BELL"},N.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},N.LIGHT={type:3,value:"LIGHT"},N.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},N.SIREN={type:3,value:"SIREN"},N.WHISTLE={type:3,value:"WHISTLE"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"};let R=N;t.IfcAlarmTypeEnum=R;const f=class{};f.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},f.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},f.LOADING_3D={type:3,value:"LOADING_3D"},f.USERDEFINED={type:3,value:"USERDEFINED"},f.NOTDEFINED={type:3,value:"NOTDEFINED"};let O=f;t.IfcAnalysisModelTypeEnum=O;const D=class{};D.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},D.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},D.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},D.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},D.USERDEFINED={type:3,value:"USERDEFINED"},D.NOTDEFINED={type:3,value:"NOTDEFINED"};let m=D;t.IfcAnalysisTheoryTypeEnum=m;const A=class{};A.ADD={type:3,value:"ADD"},A.DIVIDE={type:3,value:"DIVIDE"},A.MULTIPLY={type:3,value:"MULTIPLY"},A.SUBTRACT={type:3,value:"SUBTRACT"};let S=A;t.IfcArithmeticOperatorEnum=S;const C=class{};C.SITE={type:3,value:"SITE"},C.FACTORY={type:3,value:"FACTORY"},C.NOTDEFINED={type:3,value:"NOTDEFINED"};let v=C;t.IfcAssemblyPlaceEnum=v;const L=class{};L.AMPLIFIER={type:3,value:"AMPLIFIER"},L.CAMERA={type:3,value:"CAMERA"},L.DISPLAY={type:3,value:"DISPLAY"},L.MICROPHONE={type:3,value:"MICROPHONE"},L.PLAYER={type:3,value:"PLAYER"},L.PROJECTOR={type:3,value:"PROJECTOR"},L.RECEIVER={type:3,value:"RECEIVER"},L.SPEAKER={type:3,value:"SPEAKER"},L.SWITCHER={type:3,value:"SWITCHER"},L.TELEPHONE={type:3,value:"TELEPHONE"},L.TUNER={type:3,value:"TUNER"},L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"};let b=L;t.IfcAudioVisualApplianceTypeEnum=b;const P=class{};P.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},P.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},P.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},P.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},P.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},P.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let g=P;t.IfcBSplineCurveForm=g;const x=class{};x.PLANE_SURF={type:3,value:"PLANE_SURF"},x.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},x.CONICAL_SURF={type:3,value:"CONICAL_SURF"},x.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},x.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},x.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},x.RULED_SURF={type:3,value:"RULED_SURF"},x.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},x.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},x.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},x.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let _=x;t.IfcBSplineSurfaceForm=_;const M=class{};M.BEAM={type:3,value:"BEAM"},M.JOIST={type:3,value:"JOIST"},M.HOLLOWCORE={type:3,value:"HOLLOWCORE"},M.LINTEL={type:3,value:"LINTEL"},M.SPANDREL={type:3,value:"SPANDREL"},M.T_BEAM={type:3,value:"T_BEAM"},M.USERDEFINED={type:3,value:"USERDEFINED"},M.NOTDEFINED={type:3,value:"NOTDEFINED"};let F=M;t.IfcBeamTypeEnum=F;const U=class{};U.GREATERTHAN={type:3,value:"GREATERTHAN"},U.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},U.LESSTHAN={type:3,value:"LESSTHAN"},U.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},U.EQUALTO={type:3,value:"EQUALTO"},U.NOTEQUALTO={type:3,value:"NOTEQUALTO"},U.INCLUDES={type:3,value:"INCLUDES"},U.NOTINCLUDES={type:3,value:"NOTINCLUDES"},U.INCLUDEDIN={type:3,value:"INCLUDEDIN"},U.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"};let w=U;t.IfcBenchmarkEnum=w;const G=class{};G.WATER={type:3,value:"WATER"},G.STEAM={type:3,value:"STEAM"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"};let H=G;t.IfcBoilerTypeEnum=H;const B=class{};B.UNION={type:3,value:"UNION"},B.INTERSECTION={type:3,value:"INTERSECTION"},B.DIFFERENCE={type:3,value:"DIFFERENCE"};let V=B;t.IfcBooleanOperator=V;const W=class{};W.INSULATION={type:3,value:"INSULATION"},W.PRECASTPANEL={type:3,value:"PRECASTPANEL"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"};let j=W;t.IfcBuildingElementPartTypeEnum=j;const Y=class{};Y.COMPLEX={type:3,value:"COMPLEX"},Y.ELEMENT={type:3,value:"ELEMENT"},Y.PARTIAL={type:3,value:"PARTIAL"},Y.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Y.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"};let z=Y;t.IfcBuildingElementProxyTypeEnum=z;const k=class{};k.FENESTRATION={type:3,value:"FENESTRATION"},k.FOUNDATION={type:3,value:"FOUNDATION"},k.LOADBEARING={type:3,value:"LOADBEARING"},k.OUTERSHELL={type:3,value:"OUTERSHELL"},k.SHADING={type:3,value:"SHADING"},k.TRANSPORT={type:3,value:"TRANSPORT"},k.USERDEFINED={type:3,value:"USERDEFINED"},k.NOTDEFINED={type:3,value:"NOTDEFINED"};let X=k;t.IfcBuildingSystemTypeEnum=X;const K=class{};K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"};let Z=K;t.IfcBurnerTypeEnum=Z;const q=class{};q.BEND={type:3,value:"BEND"},q.CROSS={type:3,value:"CROSS"},q.REDUCER={type:3,value:"REDUCER"},q.TEE={type:3,value:"TEE"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"};let Q=q;t.IfcCableCarrierFittingTypeEnum=Q;const J=class{};J.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},J.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},J.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},J.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},J.USERDEFINED={type:3,value:"USERDEFINED"},J.NOTDEFINED={type:3,value:"NOTDEFINED"};let $=J;t.IfcCableCarrierSegmentTypeEnum=$;const tt=class{};tt.CONNECTOR={type:3,value:"CONNECTOR"},tt.ENTRY={type:3,value:"ENTRY"},tt.EXIT={type:3,value:"EXIT"},tt.JUNCTION={type:3,value:"JUNCTION"},tt.TRANSITION={type:3,value:"TRANSITION"},tt.USERDEFINED={type:3,value:"USERDEFINED"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let et=tt;t.IfcCableFittingTypeEnum=et;const st=class{};st.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},st.CABLESEGMENT={type:3,value:"CABLESEGMENT"},st.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},st.CORESEGMENT={type:3,value:"CORESEGMENT"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"};let it=st;t.IfcCableSegmentTypeEnum=it;const rt=class{};rt.NOCHANGE={type:3,value:"NOCHANGE"},rt.MODIFIED={type:3,value:"MODIFIED"},rt.ADDED={type:3,value:"ADDED"},rt.DELETED={type:3,value:"DELETED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"};let nt=rt;t.IfcChangeActionEnum=nt;const at=class{};at.AIRCOOLED={type:3,value:"AIRCOOLED"},at.WATERCOOLED={type:3,value:"WATERCOOLED"},at.HEATRECOVERY={type:3,value:"HEATRECOVERY"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"};let ot=at;t.IfcChillerTypeEnum=ot;const ht=class{};ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let ct=ht;t.IfcChimneyTypeEnum=ct;const lt=class{};lt.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},lt.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},lt.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},lt.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},lt.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},lt.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},lt.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let pt=lt;t.IfcCoilTypeEnum=pt;const ut=class{};ut.COLUMN={type:3,value:"COLUMN"},ut.PILASTER={type:3,value:"PILASTER"},ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let Et=ut;t.IfcColumnTypeEnum=Et;const It=class{};It.ANTENNA={type:3,value:"ANTENNA"},It.COMPUTER={type:3,value:"COMPUTER"},It.FAX={type:3,value:"FAX"},It.GATEWAY={type:3,value:"GATEWAY"},It.MODEM={type:3,value:"MODEM"},It.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},It.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},It.NETWORKHUB={type:3,value:"NETWORKHUB"},It.PRINTER={type:3,value:"PRINTER"},It.REPEATER={type:3,value:"REPEATER"},It.ROUTER={type:3,value:"ROUTER"},It.SCANNER={type:3,value:"SCANNER"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"};let yt=It;t.IfcCommunicationsApplianceTypeEnum=yt;const Tt=class{};Tt.P_COMPLEX={type:3,value:"P_COMPLEX"},Tt.Q_COMPLEX={type:3,value:"Q_COMPLEX"};let dt=Tt;t.IfcComplexPropertyTemplateTypeEnum=dt;const Nt=class{};Nt.DYNAMIC={type:3,value:"DYNAMIC"},Nt.RECIPROCATING={type:3,value:"RECIPROCATING"},Nt.ROTARY={type:3,value:"ROTARY"},Nt.SCROLL={type:3,value:"SCROLL"},Nt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Nt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Nt.BOOSTER={type:3,value:"BOOSTER"},Nt.OPENTYPE={type:3,value:"OPENTYPE"},Nt.HERMETIC={type:3,value:"HERMETIC"},Nt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Nt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Nt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Nt.ROTARYVANE={type:3,value:"ROTARYVANE"},Nt.SINGLESCREW={type:3,value:"SINGLESCREW"},Nt.TWINSCREW={type:3,value:"TWINSCREW"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rt=Nt;t.IfcCompressorTypeEnum=Rt;const ft=class{};ft.AIRCOOLED={type:3,value:"AIRCOOLED"},ft.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},ft.WATERCOOLED={type:3,value:"WATERCOOLED"},ft.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},ft.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},ft.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},ft.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ot=ft;t.IfcCondenserTypeEnum=Ot;const Dt=class{};Dt.ATPATH={type:3,value:"ATPATH"},Dt.ATSTART={type:3,value:"ATSTART"},Dt.ATEND={type:3,value:"ATEND"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"};let mt=Dt;t.IfcConnectionTypeEnum=mt;const At=class{};At.HARD={type:3,value:"HARD"},At.SOFT={type:3,value:"SOFT"},At.ADVISORY={type:3,value:"ADVISORY"},At.USERDEFINED={type:3,value:"USERDEFINED"},At.NOTDEFINED={type:3,value:"NOTDEFINED"};let St=At;t.IfcConstraintEnum=St;const Ct=class{};Ct.DEMOLISHING={type:3,value:"DEMOLISHING"},Ct.EARTHMOVING={type:3,value:"EARTHMOVING"},Ct.ERECTING={type:3,value:"ERECTING"},Ct.HEATING={type:3,value:"HEATING"},Ct.LIGHTING={type:3,value:"LIGHTING"},Ct.PAVING={type:3,value:"PAVING"},Ct.PUMPING={type:3,value:"PUMPING"},Ct.TRANSPORTING={type:3,value:"TRANSPORTING"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"};let vt=Ct;t.IfcConstructionEquipmentResourceTypeEnum=vt;const Lt=class{};Lt.AGGREGATES={type:3,value:"AGGREGATES"},Lt.CONCRETE={type:3,value:"CONCRETE"},Lt.DRYWALL={type:3,value:"DRYWALL"},Lt.FUEL={type:3,value:"FUEL"},Lt.GYPSUM={type:3,value:"GYPSUM"},Lt.MASONRY={type:3,value:"MASONRY"},Lt.METAL={type:3,value:"METAL"},Lt.PLASTIC={type:3,value:"PLASTIC"},Lt.WOOD={type:3,value:"WOOD"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},Lt.USERDEFINED={type:3,value:"USERDEFINED"};let bt=Lt;t.IfcConstructionMaterialResourceTypeEnum=bt;const Pt=class{};Pt.ASSEMBLY={type:3,value:"ASSEMBLY"},Pt.FORMWORK={type:3,value:"FORMWORK"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"};let gt=Pt;t.IfcConstructionProductResourceTypeEnum=gt;const xt=class{};xt.FLOATING={type:3,value:"FLOATING"},xt.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},xt.PROPORTIONAL={type:3,value:"PROPORTIONAL"},xt.MULTIPOSITION={type:3,value:"MULTIPOSITION"},xt.TWOPOSITION={type:3,value:"TWOPOSITION"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let _t=xt;t.IfcControllerTypeEnum=_t;const Mt=class{};Mt.ACTIVE={type:3,value:"ACTIVE"},Mt.PASSIVE={type:3,value:"PASSIVE"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ft=Mt;t.IfcCooledBeamTypeEnum=Ft;const Ut=class{};Ut.NATURALDRAFT={type:3,value:"NATURALDRAFT"},Ut.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},Ut.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let wt=Ut;t.IfcCoolingTowerTypeEnum=wt;const Gt=class{};Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ht=Gt;t.IfcCostItemTypeEnum=Ht;const Bt=class{};Bt.BUDGET={type:3,value:"BUDGET"},Bt.COSTPLAN={type:3,value:"COSTPLAN"},Bt.ESTIMATE={type:3,value:"ESTIMATE"},Bt.TENDER={type:3,value:"TENDER"},Bt.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Bt.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Bt.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vt=Bt;t.IfcCostScheduleTypeEnum=Vt;const Wt=class{};Wt.CEILING={type:3,value:"CEILING"},Wt.FLOORING={type:3,value:"FLOORING"},Wt.CLADDING={type:3,value:"CLADDING"},Wt.ROOFING={type:3,value:"ROOFING"},Wt.MOLDING={type:3,value:"MOLDING"},Wt.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},Wt.INSULATION={type:3,value:"INSULATION"},Wt.MEMBRANE={type:3,value:"MEMBRANE"},Wt.SLEEVING={type:3,value:"SLEEVING"},Wt.WRAPPING={type:3,value:"WRAPPING"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"};let jt=Wt;t.IfcCoveringTypeEnum=jt;const Yt=class{};Yt.OFFICE={type:3,value:"OFFICE"},Yt.SITE={type:3,value:"SITE"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"};let zt=Yt;t.IfcCrewResourceTypeEnum=zt;const kt=class{};kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xt=kt;t.IfcCurtainWallTypeEnum=Xt;const Kt=class{};Kt.LINEAR={type:3,value:"LINEAR"},Kt.LOG_LINEAR={type:3,value:"LOG_LINEAR"},Kt.LOG_LOG={type:3,value:"LOG_LOG"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zt=Kt;t.IfcCurveInterpolationEnum=Zt;const qt=class{};qt.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},qt.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},qt.BLASTDAMPER={type:3,value:"BLASTDAMPER"},qt.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},qt.FIREDAMPER={type:3,value:"FIREDAMPER"},qt.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},qt.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},qt.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},qt.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},qt.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},qt.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qt=qt;t.IfcDamperTypeEnum=Qt;const Jt=class{};Jt.MEASURED={type:3,value:"MEASURED"},Jt.PREDICTED={type:3,value:"PREDICTED"},Jt.SIMULATED={type:3,value:"SIMULATED"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $t=Jt;t.IfcDataOriginEnum=$t;const te=class{};te.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},te.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},te.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},te.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},te.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},te.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},te.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},te.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},te.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},te.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},te.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},te.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},te.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},te.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},te.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},te.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},te.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},te.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},te.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},te.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},te.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},te.TORQUEUNIT={type:3,value:"TORQUEUNIT"},te.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},te.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},te.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},te.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},te.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},te.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},te.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},te.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},te.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},te.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},te.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},te.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},te.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},te.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},te.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},te.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},te.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},te.PHUNIT={type:3,value:"PHUNIT"},te.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},te.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},te.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},te.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},te.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},te.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},te.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},te.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},te.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},te.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},te.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},te.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},te.USERDEFINED={type:3,value:"USERDEFINED"};let ee=te;t.IfcDerivedUnitEnum=ee;const se=class{};se.POSITIVE={type:3,value:"POSITIVE"},se.NEGATIVE={type:3,value:"NEGATIVE"};let ie=se;t.IfcDirectionSenseEnum=ie;const re=class{};re.ANCHORPLATE={type:3,value:"ANCHORPLATE"},re.BRACKET={type:3,value:"BRACKET"},re.SHOE={type:3,value:"SHOE"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"};let ne=re;t.IfcDiscreteAccessoryTypeEnum=ne;const ae=class{};ae.FORMEDDUCT={type:3,value:"FORMEDDUCT"},ae.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},ae.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},ae.MANHOLE={type:3,value:"MANHOLE"},ae.METERCHAMBER={type:3,value:"METERCHAMBER"},ae.SUMP={type:3,value:"SUMP"},ae.TRENCH={type:3,value:"TRENCH"},ae.VALVECHAMBER={type:3,value:"VALVECHAMBER"},ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"};let oe=ae;t.IfcDistributionChamberElementTypeEnum=oe;const he=class{};he.CABLE={type:3,value:"CABLE"},he.CABLECARRIER={type:3,value:"CABLECARRIER"},he.DUCT={type:3,value:"DUCT"},he.PIPE={type:3,value:"PIPE"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"};let ce=he;t.IfcDistributionPortTypeEnum=ce;const le=class{};le.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},le.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},le.CHEMICAL={type:3,value:"CHEMICAL"},le.CHILLEDWATER={type:3,value:"CHILLEDWATER"},le.COMMUNICATION={type:3,value:"COMMUNICATION"},le.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},le.CONDENSERWATER={type:3,value:"CONDENSERWATER"},le.CONTROL={type:3,value:"CONTROL"},le.CONVEYING={type:3,value:"CONVEYING"},le.DATA={type:3,value:"DATA"},le.DISPOSAL={type:3,value:"DISPOSAL"},le.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},le.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},le.DRAINAGE={type:3,value:"DRAINAGE"},le.EARTHING={type:3,value:"EARTHING"},le.ELECTRICAL={type:3,value:"ELECTRICAL"},le.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},le.EXHAUST={type:3,value:"EXHAUST"},le.FIREPROTECTION={type:3,value:"FIREPROTECTION"},le.FUEL={type:3,value:"FUEL"},le.GAS={type:3,value:"GAS"},le.HAZARDOUS={type:3,value:"HAZARDOUS"},le.HEATING={type:3,value:"HEATING"},le.LIGHTING={type:3,value:"LIGHTING"},le.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},le.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},le.OIL={type:3,value:"OIL"},le.OPERATIONAL={type:3,value:"OPERATIONAL"},le.POWERGENERATION={type:3,value:"POWERGENERATION"},le.RAINWATER={type:3,value:"RAINWATER"},le.REFRIGERATION={type:3,value:"REFRIGERATION"},le.SECURITY={type:3,value:"SECURITY"},le.SEWAGE={type:3,value:"SEWAGE"},le.SIGNAL={type:3,value:"SIGNAL"},le.STORMWATER={type:3,value:"STORMWATER"},le.TELEPHONE={type:3,value:"TELEPHONE"},le.TV={type:3,value:"TV"},le.VACUUM={type:3,value:"VACUUM"},le.VENT={type:3,value:"VENT"},le.VENTILATION={type:3,value:"VENTILATION"},le.WASTEWATER={type:3,value:"WASTEWATER"},le.WATERSUPPLY={type:3,value:"WATERSUPPLY"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"};let pe=le;t.IfcDistributionSystemEnum=pe;const ue=class{};ue.PUBLIC={type:3,value:"PUBLIC"},ue.RESTRICTED={type:3,value:"RESTRICTED"},ue.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},ue.PERSONAL={type:3,value:"PERSONAL"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ee=ue;t.IfcDocumentConfidentialityEnum=Ee;const Ie=class{};Ie.DRAFT={type:3,value:"DRAFT"},Ie.FINALDRAFT={type:3,value:"FINALDRAFT"},Ie.FINAL={type:3,value:"FINAL"},Ie.REVISION={type:3,value:"REVISION"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"};let ye=Ie;t.IfcDocumentStatusEnum=ye;const Te=class{};Te.SWINGING={type:3,value:"SWINGING"},Te.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Te.SLIDING={type:3,value:"SLIDING"},Te.FOLDING={type:3,value:"FOLDING"},Te.REVOLVING={type:3,value:"REVOLVING"},Te.ROLLINGUP={type:3,value:"ROLLINGUP"},Te.FIXEDPANEL={type:3,value:"FIXEDPANEL"},Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"};let de=Te;t.IfcDoorPanelOperationEnum=de;const Ne=class{};Ne.LEFT={type:3,value:"LEFT"},Ne.MIDDLE={type:3,value:"MIDDLE"},Ne.RIGHT={type:3,value:"RIGHT"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"};let Re=Ne;t.IfcDoorPanelPositionEnum=Re;const fe=class{};fe.ALUMINIUM={type:3,value:"ALUMINIUM"},fe.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},fe.STEEL={type:3,value:"STEEL"},fe.WOOD={type:3,value:"WOOD"},fe.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},fe.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},fe.PLASTIC={type:3,value:"PLASTIC"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oe=fe;t.IfcDoorStyleConstructionEnum=Oe;const De=class{};De.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},De.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},De.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},De.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},De.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},De.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},De.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},De.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},De.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},De.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},De.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},De.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},De.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},De.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},De.REVOLVING={type:3,value:"REVOLVING"},De.ROLLINGUP={type:3,value:"ROLLINGUP"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"};let me=De;t.IfcDoorStyleOperationEnum=me;const Ae=class{};Ae.DOOR={type:3,value:"DOOR"},Ae.GATE={type:3,value:"GATE"},Ae.TRAPDOOR={type:3,value:"TRAPDOOR"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"};let Se=Ae;t.IfcDoorTypeEnum=Se;const Ce=class{};Ce.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Ce.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Ce.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Ce.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Ce.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Ce.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Ce.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Ce.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Ce.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Ce.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Ce.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Ce.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Ce.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Ce.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Ce.REVOLVING={type:3,value:"REVOLVING"},Ce.ROLLINGUP={type:3,value:"ROLLINGUP"},Ce.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Ce.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"};let ve=Ce;t.IfcDoorTypeOperationEnum=ve;const Le=class{};Le.BEND={type:3,value:"BEND"},Le.CONNECTOR={type:3,value:"CONNECTOR"},Le.ENTRY={type:3,value:"ENTRY"},Le.EXIT={type:3,value:"EXIT"},Le.JUNCTION={type:3,value:"JUNCTION"},Le.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Le.TRANSITION={type:3,value:"TRANSITION"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"};let be=Le;t.IfcDuctFittingTypeEnum=be;const Pe=class{};Pe.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Pe.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"};let ge=Pe;t.IfcDuctSegmentTypeEnum=ge;const xe=class{};xe.FLATOVAL={type:3,value:"FLATOVAL"},xe.RECTANGULAR={type:3,value:"RECTANGULAR"},xe.ROUND={type:3,value:"ROUND"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"};let _e=xe;t.IfcDuctSilencerTypeEnum=_e;const Me=class{};Me.DISHWASHER={type:3,value:"DISHWASHER"},Me.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Me.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},Me.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Me.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},Me.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},Me.FREEZER={type:3,value:"FREEZER"},Me.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Me.HANDDRYER={type:3,value:"HANDDRYER"},Me.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},Me.MICROWAVE={type:3,value:"MICROWAVE"},Me.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Me.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Me.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Me.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Me.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fe=Me;t.IfcElectricApplianceTypeEnum=Fe;const Ue=class{};Ue.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Ue.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Ue.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Ue.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let we=Ue;t.IfcElectricDistributionBoardTypeEnum=we;const Ge=class{};Ge.BATTERY={type:3,value:"BATTERY"},Ge.CAPACITORBANK={type:3,value:"CAPACITORBANK"},Ge.HARMONICFILTER={type:3,value:"HARMONICFILTER"},Ge.INDUCTORBANK={type:3,value:"INDUCTORBANK"},Ge.UPS={type:3,value:"UPS"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"};let He=Ge;t.IfcElectricFlowStorageDeviceTypeEnum=He;const Be=class{};Be.CHP={type:3,value:"CHP"},Be.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Be.STANDALONE={type:3,value:"STANDALONE"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ve=Be;t.IfcElectricGeneratorTypeEnum=Ve;const We=class{};We.DC={type:3,value:"DC"},We.INDUCTION={type:3,value:"INDUCTION"},We.POLYPHASE={type:3,value:"POLYPHASE"},We.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},We.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"};let je=We;t.IfcElectricMotorTypeEnum=je;const Ye=class{};Ye.TIMECLOCK={type:3,value:"TIMECLOCK"},Ye.TIMEDELAY={type:3,value:"TIMEDELAY"},Ye.RELAY={type:3,value:"RELAY"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"};let ze=Ye;t.IfcElectricTimeControlTypeEnum=ze;const ke=class{};ke.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},ke.ARCH={type:3,value:"ARCH"},ke.BEAM_GRID={type:3,value:"BEAM_GRID"},ke.BRACED_FRAME={type:3,value:"BRACED_FRAME"},ke.GIRDER={type:3,value:"GIRDER"},ke.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},ke.RIGID_FRAME={type:3,value:"RIGID_FRAME"},ke.SLAB_FIELD={type:3,value:"SLAB_FIELD"},ke.TRUSS={type:3,value:"TRUSS"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xe=ke;t.IfcElementAssemblyTypeEnum=Xe;const Ke=class{};Ke.COMPLEX={type:3,value:"COMPLEX"},Ke.ELEMENT={type:3,value:"ELEMENT"},Ke.PARTIAL={type:3,value:"PARTIAL"};let Ze=Ke;t.IfcElementCompositionEnum=Ze;const qe=class{};qe.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},qe.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},qe.USERDEFINED={type:3,value:"USERDEFINED"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qe=qe;t.IfcEngineTypeEnum=Qe;const Je=class{};Je.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Je.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Je.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Je.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Je.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Je.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Je.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Je.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Je.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"};let $e=Je;t.IfcEvaporativeCoolerTypeEnum=$e;const ts=class{};ts.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},ts.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},ts.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},ts.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},ts.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},ts.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let es=ts;t.IfcEvaporatorTypeEnum=es;const ss=class{};ss.EVENTRULE={type:3,value:"EVENTRULE"},ss.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},ss.EVENTTIME={type:3,value:"EVENTTIME"},ss.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let is=ss;t.IfcEventTriggerTypeEnum=is;const rs=class{};rs.STARTEVENT={type:3,value:"STARTEVENT"},rs.ENDEVENT={type:3,value:"ENDEVENT"},rs.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"};let ns=rs;t.IfcEventTypeEnum=ns;const as=class{};as.EXTERNAL={type:3,value:"EXTERNAL"},as.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},as.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},as.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"};let os=as;t.IfcExternalSpatialElementTypeEnum=os;const hs=class{};hs.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},hs.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},hs.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},hs.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},hs.TUBEAXIAL={type:3,value:"TUBEAXIAL"},hs.VANEAXIAL={type:3,value:"VANEAXIAL"},hs.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let cs=hs;t.IfcFanTypeEnum=cs;const ls=class{};ls.GLUE={type:3,value:"GLUE"},ls.MORTAR={type:3,value:"MORTAR"},ls.WELD={type:3,value:"WELD"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let ps=ls;t.IfcFastenerTypeEnum=ps;const us=class{};us.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},us.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},us.ODORFILTER={type:3,value:"ODORFILTER"},us.OILFILTER={type:3,value:"OILFILTER"},us.STRAINER={type:3,value:"STRAINER"},us.WATERFILTER={type:3,value:"WATERFILTER"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"};let Es=us;t.IfcFilterTypeEnum=Es;const Is=class{};Is.BREECHINGINLET={type:3,value:"BREECHINGINLET"},Is.FIREHYDRANT={type:3,value:"FIREHYDRANT"},Is.HOSEREEL={type:3,value:"HOSEREEL"},Is.SPRINKLER={type:3,value:"SPRINKLER"},Is.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},Is.USERDEFINED={type:3,value:"USERDEFINED"},Is.NOTDEFINED={type:3,value:"NOTDEFINED"};let ys=Is;t.IfcFireSuppressionTerminalTypeEnum=ys;const Ts=class{};Ts.SOURCE={type:3,value:"SOURCE"},Ts.SINK={type:3,value:"SINK"},Ts.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let ds=Ts;t.IfcFlowDirectionEnum=ds;const Ns=class{};Ns.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Ns.THERMOMETER={type:3,value:"THERMOMETER"},Ns.AMMETER={type:3,value:"AMMETER"},Ns.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Ns.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Ns.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Ns.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Ns.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Ns.USERDEFINED={type:3,value:"USERDEFINED"},Ns.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rs=Ns;t.IfcFlowInstrumentTypeEnum=Rs;const fs=class{};fs.ENERGYMETER={type:3,value:"ENERGYMETER"},fs.GASMETER={type:3,value:"GASMETER"},fs.OILMETER={type:3,value:"OILMETER"},fs.WATERMETER={type:3,value:"WATERMETER"},fs.USERDEFINED={type:3,value:"USERDEFINED"},fs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Os=fs;t.IfcFlowMeterTypeEnum=Os;const Ds=class{};Ds.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},Ds.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Ds.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Ds.PILE_CAP={type:3,value:"PILE_CAP"},Ds.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Ds.USERDEFINED={type:3,value:"USERDEFINED"},Ds.NOTDEFINED={type:3,value:"NOTDEFINED"};let ms=Ds;t.IfcFootingTypeEnum=ms;const As=class{};As.CHAIR={type:3,value:"CHAIR"},As.TABLE={type:3,value:"TABLE"},As.DESK={type:3,value:"DESK"},As.BED={type:3,value:"BED"},As.FILECABINET={type:3,value:"FILECABINET"},As.SHELF={type:3,value:"SHELF"},As.SOFA={type:3,value:"SOFA"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ss=As;t.IfcFurnitureTypeEnum=Ss;const Cs=class{};Cs.TERRAIN={type:3,value:"TERRAIN"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let vs=Cs;t.IfcGeographicElementTypeEnum=vs;const Ls=class{};Ls.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Ls.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Ls.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Ls.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Ls.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Ls.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Ls.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let bs=Ls;t.IfcGeometricProjectionEnum=bs;const Ps=class{};Ps.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Ps.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};let gs=Ps;t.IfcGlobalOrLocalEnum=gs;const xs=class{};xs.RECTANGULAR={type:3,value:"RECTANGULAR"},xs.RADIAL={type:3,value:"RADIAL"},xs.TRIANGULAR={type:3,value:"TRIANGULAR"},xs.IRREGULAR={type:3,value:"IRREGULAR"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"};let _s=xs;t.IfcGridTypeEnum=_s;const Ms=class{};Ms.PLATE={type:3,value:"PLATE"},Ms.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fs=Ms;t.IfcHeatExchangerTypeEnum=Fs;const Us=class{};Us.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Us.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Us.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Us.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Us.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Us.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Us.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Us.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Us.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Us.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Us.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Us.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Us.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Us.USERDEFINED={type:3,value:"USERDEFINED"},Us.NOTDEFINED={type:3,value:"NOTDEFINED"};let ws=Us;t.IfcHumidifierTypeEnum=ws;const Gs=class{};Gs.CYCLONIC={type:3,value:"CYCLONIC"},Gs.GREASE={type:3,value:"GREASE"},Gs.OIL={type:3,value:"OIL"},Gs.PETROL={type:3,value:"PETROL"},Gs.USERDEFINED={type:3,value:"USERDEFINED"},Gs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hs=Gs;t.IfcInterceptorTypeEnum=Hs;const Bs=class{};Bs.INTERNAL={type:3,value:"INTERNAL"},Bs.EXTERNAL={type:3,value:"EXTERNAL"},Bs.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Bs.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Bs.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vs=Bs;t.IfcInternalOrExternalEnum=Vs;const Ws=class{};Ws.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Ws.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Ws.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"};let js=Ws;t.IfcInventoryTypeEnum=js;const Ys=class{};Ys.DATA={type:3,value:"DATA"},Ys.POWER={type:3,value:"POWER"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"};let zs=Ys;t.IfcJunctionBoxTypeEnum=zs;const ks=class{};ks.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},ks.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},ks.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},ks.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let Xs=ks;t.IfcKnotType=Xs;const Ks=class{};Ks.ADMINISTRATION={type:3,value:"ADMINISTRATION"},Ks.CARPENTRY={type:3,value:"CARPENTRY"},Ks.CLEANING={type:3,value:"CLEANING"},Ks.CONCRETE={type:3,value:"CONCRETE"},Ks.DRYWALL={type:3,value:"DRYWALL"},Ks.ELECTRIC={type:3,value:"ELECTRIC"},Ks.FINISHING={type:3,value:"FINISHING"},Ks.FLOORING={type:3,value:"FLOORING"},Ks.GENERAL={type:3,value:"GENERAL"},Ks.HVAC={type:3,value:"HVAC"},Ks.LANDSCAPING={type:3,value:"LANDSCAPING"},Ks.MASONRY={type:3,value:"MASONRY"},Ks.PAINTING={type:3,value:"PAINTING"},Ks.PAVING={type:3,value:"PAVING"},Ks.PLUMBING={type:3,value:"PLUMBING"},Ks.ROOFING={type:3,value:"ROOFING"},Ks.SITEGRADING={type:3,value:"SITEGRADING"},Ks.STEELWORK={type:3,value:"STEELWORK"},Ks.SURVEYING={type:3,value:"SURVEYING"},Ks.USERDEFINED={type:3,value:"USERDEFINED"},Ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zs=Ks;t.IfcLaborResourceTypeEnum=Zs;const qs=class{};qs.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},qs.FLUORESCENT={type:3,value:"FLUORESCENT"},qs.HALOGEN={type:3,value:"HALOGEN"},qs.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},qs.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},qs.LED={type:3,value:"LED"},qs.METALHALIDE={type:3,value:"METALHALIDE"},qs.OLED={type:3,value:"OLED"},qs.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},qs.USERDEFINED={type:3,value:"USERDEFINED"},qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qs=qs;t.IfcLampTypeEnum=Qs;const Js=class{};Js.AXIS1={type:3,value:"AXIS1"},Js.AXIS2={type:3,value:"AXIS2"},Js.AXIS3={type:3,value:"AXIS3"};let $s=Js;t.IfcLayerSetDirectionEnum=$s;const ti=class{};ti.TYPE_A={type:3,value:"TYPE_A"},ti.TYPE_B={type:3,value:"TYPE_B"},ti.TYPE_C={type:3,value:"TYPE_C"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let ei=ti;t.IfcLightDistributionCurveEnum=ei;const si=class{};si.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},si.FLUORESCENT={type:3,value:"FLUORESCENT"},si.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},si.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},si.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},si.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},si.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},si.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},si.METALHALIDE={type:3,value:"METALHALIDE"},si.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},si.NOTDEFINED={type:3,value:"NOTDEFINED"};let ii=si;t.IfcLightEmissionSourceEnum=ii;const ri=class{};ri.POINTSOURCE={type:3,value:"POINTSOURCE"},ri.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},ri.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"};let ni=ri;t.IfcLightFixtureTypeEnum=ni;const ai=class{};ai.LOAD_GROUP={type:3,value:"LOAD_GROUP"},ai.LOAD_CASE={type:3,value:"LOAD_CASE"},ai.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let oi=ai;t.IfcLoadGroupTypeEnum=oi;const hi=class{};hi.LOGICALAND={type:3,value:"LOGICALAND"},hi.LOGICALOR={type:3,value:"LOGICALOR"},hi.LOGICALXOR={type:3,value:"LOGICALXOR"},hi.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},hi.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"};let ci=hi;t.IfcLogicalOperatorEnum=ci;const li=class{};li.ANCHORBOLT={type:3,value:"ANCHORBOLT"},li.BOLT={type:3,value:"BOLT"},li.DOWEL={type:3,value:"DOWEL"},li.NAIL={type:3,value:"NAIL"},li.NAILPLATE={type:3,value:"NAILPLATE"},li.RIVET={type:3,value:"RIVET"},li.SCREW={type:3,value:"SCREW"},li.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},li.STAPLE={type:3,value:"STAPLE"},li.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"};let pi=li;t.IfcMechanicalFastenerTypeEnum=pi;const ui=class{};ui.AIRSTATION={type:3,value:"AIRSTATION"},ui.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},ui.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},ui.OXYGENPLANT={type:3,value:"OXYGENPLANT"},ui.VACUUMSTATION={type:3,value:"VACUUMSTATION"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ei=ui;t.IfcMedicalDeviceTypeEnum=Ei;const Ii=class{};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.STRINGER={type:3,value:"STRINGER"},Ii.STRUT={type:3,value:"STRUT"},Ii.STUD={type:3,value:"STUD"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let yi=Ii;t.IfcMemberTypeEnum=yi;const Ti=class{};Ti.BELTDRIVE={type:3,value:"BELTDRIVE"},Ti.COUPLING={type:3,value:"COUPLING"},Ti.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let di=Ti;t.IfcMotorConnectionTypeEnum=di;const Ni=class{};Ni.NULL={type:3,value:"NULL"};let Ri=Ni;t.IfcNullStyle=Ri;const fi=class{};fi.PRODUCT={type:3,value:"PRODUCT"},fi.PROCESS={type:3,value:"PROCESS"},fi.CONTROL={type:3,value:"CONTROL"},fi.RESOURCE={type:3,value:"RESOURCE"},fi.ACTOR={type:3,value:"ACTOR"},fi.GROUP={type:3,value:"GROUP"},fi.PROJECT={type:3,value:"PROJECT"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oi=fi;t.IfcObjectTypeEnum=Oi;const Di=class{};Di.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Di.CODEWAIVER={type:3,value:"CODEWAIVER"},Di.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Di.EXTERNAL={type:3,value:"EXTERNAL"},Di.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Di.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Di.MODELVIEW={type:3,value:"MODELVIEW"},Di.PARAMETER={type:3,value:"PARAMETER"},Di.REQUIREMENT={type:3,value:"REQUIREMENT"},Di.SPECIFICATION={type:3,value:"SPECIFICATION"},Di.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Di.USERDEFINED={type:3,value:"USERDEFINED"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"};let mi=Di;t.IfcObjectiveEnum=mi;const Ai=class{};Ai.ASSIGNEE={type:3,value:"ASSIGNEE"},Ai.ASSIGNOR={type:3,value:"ASSIGNOR"},Ai.LESSEE={type:3,value:"LESSEE"},Ai.LESSOR={type:3,value:"LESSOR"},Ai.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ai.OWNER={type:3,value:"OWNER"},Ai.TENANT={type:3,value:"TENANT"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let Si=Ai;t.IfcOccupantTypeEnum=Si;const Ci=class{};Ci.OPENING={type:3,value:"OPENING"},Ci.RECESS={type:3,value:"RECESS"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"};let vi=Ci;t.IfcOpeningElementTypeEnum=vi;const Li=class{};Li.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Li.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Li.POWEROUTLET={type:3,value:"POWEROUTLET"},Li.DATAOUTLET={type:3,value:"DATAOUTLET"},Li.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},Li.USERDEFINED={type:3,value:"USERDEFINED"},Li.NOTDEFINED={type:3,value:"NOTDEFINED"};let bi=Li;t.IfcOutletTypeEnum=bi;const Pi=class{};Pi.USERDEFINED={type:3,value:"USERDEFINED"},Pi.NOTDEFINED={type:3,value:"NOTDEFINED"};let gi=Pi;t.IfcPerformanceHistoryTypeEnum=gi;const xi=class{};xi.GRILL={type:3,value:"GRILL"},xi.LOUVER={type:3,value:"LOUVER"},xi.SCREEN={type:3,value:"SCREEN"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"};let _i=xi;t.IfcPermeableCoveringOperationEnum=_i;const Mi=class{};Mi.ACCESS={type:3,value:"ACCESS"},Mi.BUILDING={type:3,value:"BUILDING"},Mi.WORK={type:3,value:"WORK"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fi=Mi;t.IfcPermitTypeEnum=Fi;const Ui=class{};Ui.PHYSICAL={type:3,value:"PHYSICAL"},Ui.VIRTUAL={type:3,value:"VIRTUAL"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let wi=Ui;t.IfcPhysicalOrVirtualEnum=wi;const Gi=class{};Gi.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Gi.COMPOSITE={type:3,value:"COMPOSITE"},Gi.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Gi.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hi=Gi;t.IfcPileConstructionEnum=Hi;const Bi=class{};Bi.BORED={type:3,value:"BORED"},Bi.DRIVEN={type:3,value:"DRIVEN"},Bi.JETGROUTING={type:3,value:"JETGROUTING"},Bi.COHESION={type:3,value:"COHESION"},Bi.FRICTION={type:3,value:"FRICTION"},Bi.SUPPORT={type:3,value:"SUPPORT"},Bi.USERDEFINED={type:3,value:"USERDEFINED"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vi=Bi;t.IfcPileTypeEnum=Vi;const Wi=class{};Wi.BEND={type:3,value:"BEND"},Wi.CONNECTOR={type:3,value:"CONNECTOR"},Wi.ENTRY={type:3,value:"ENTRY"},Wi.EXIT={type:3,value:"EXIT"},Wi.JUNCTION={type:3,value:"JUNCTION"},Wi.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Wi.TRANSITION={type:3,value:"TRANSITION"},Wi.USERDEFINED={type:3,value:"USERDEFINED"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ji=Wi;t.IfcPipeFittingTypeEnum=ji;const Yi=class{};Yi.CULVERT={type:3,value:"CULVERT"},Yi.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Yi.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Yi.GUTTER={type:3,value:"GUTTER"},Yi.SPOOL={type:3,value:"SPOOL"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"};let zi=Yi;t.IfcPipeSegmentTypeEnum=zi;const ki=class{};ki.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},ki.SHEET={type:3,value:"SHEET"},ki.USERDEFINED={type:3,value:"USERDEFINED"},ki.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xi=ki;t.IfcPlateTypeEnum=Xi;const Ki=class{};Ki.CURVE3D={type:3,value:"CURVE3D"},Ki.PCURVE_S1={type:3,value:"PCURVE_S1"},Ki.PCURVE_S2={type:3,value:"PCURVE_S2"};let Zi=Ki;t.IfcPreferredSurfaceCurveRepresentation=Zi;const qi=class{};qi.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},qi.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},qi.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},qi.CALIBRATION={type:3,value:"CALIBRATION"},qi.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},qi.SHUTDOWN={type:3,value:"SHUTDOWN"},qi.STARTUP={type:3,value:"STARTUP"},qi.USERDEFINED={type:3,value:"USERDEFINED"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qi=qi;t.IfcProcedureTypeEnum=Qi;const Ji=class{};Ji.CURVE={type:3,value:"CURVE"},Ji.AREA={type:3,value:"AREA"};let $i=Ji;t.IfcProfileTypeEnum=$i;const tr=class{};tr.CHANGEORDER={type:3,value:"CHANGEORDER"},tr.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},tr.MOVEORDER={type:3,value:"MOVEORDER"},tr.PURCHASEORDER={type:3,value:"PURCHASEORDER"},tr.WORKORDER={type:3,value:"WORKORDER"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let er=tr;t.IfcProjectOrderTypeEnum=er;const sr=class{};sr.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},sr.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};let ir=sr;t.IfcProjectedOrTrueLengthEnum=ir;const rr=class{};rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"};let nr=rr;t.IfcProjectionElementTypeEnum=nr;const ar=class{};ar.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},ar.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},ar.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},ar.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},ar.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},ar.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},ar.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let or=ar;t.IfcPropertySetTemplateTypeEnum=or;const hr=class{};hr.ELECTRONIC={type:3,value:"ELECTRONIC"},hr.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},hr.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},hr.THERMAL={type:3,value:"THERMAL"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"};let cr=hr;t.IfcProtectiveDeviceTrippingUnitTypeEnum=cr;const lr=class{};lr.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},lr.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},lr.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},lr.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},lr.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},lr.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},lr.VARISTOR={type:3,value:"VARISTOR"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let pr=lr;t.IfcProtectiveDeviceTypeEnum=pr;const ur=class{};ur.CIRCULATOR={type:3,value:"CIRCULATOR"},ur.ENDSUCTION={type:3,value:"ENDSUCTION"},ur.SPLITCASE={type:3,value:"SPLITCASE"},ur.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},ur.SUMPPUMP={type:3,value:"SUMPPUMP"},ur.VERTICALINLINE={type:3,value:"VERTICALINLINE"},ur.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let Er=ur;t.IfcPumpTypeEnum=Er;const Ir=class{};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"};let yr=Ir;t.IfcRailingTypeEnum=yr;const Tr=class{};Tr.STRAIGHT={type:3,value:"STRAIGHT"},Tr.SPIRAL={type:3,value:"SPIRAL"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let dr=Tr;t.IfcRampFlightTypeEnum=dr;const Nr=class{};Nr.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Nr.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Nr.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Nr.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Nr.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Nr.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rr=Nr;t.IfcRampTypeEnum=Rr;const fr=class{};fr.DAILY={type:3,value:"DAILY"},fr.WEEKLY={type:3,value:"WEEKLY"},fr.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},fr.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},fr.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},fr.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},fr.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},fr.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"};let Or=fr;t.IfcRecurrenceTypeEnum=Or;const Dr=class{};Dr.BLINN={type:3,value:"BLINN"},Dr.FLAT={type:3,value:"FLAT"},Dr.GLASS={type:3,value:"GLASS"},Dr.MATT={type:3,value:"MATT"},Dr.METAL={type:3,value:"METAL"},Dr.MIRROR={type:3,value:"MIRROR"},Dr.PHONG={type:3,value:"PHONG"},Dr.PLASTIC={type:3,value:"PLASTIC"},Dr.STRAUSS={type:3,value:"STRAUSS"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"};let mr=Dr;t.IfcReflectanceMethodEnum=mr;const Ar=class{};Ar.MAIN={type:3,value:"MAIN"},Ar.SHEAR={type:3,value:"SHEAR"},Ar.LIGATURE={type:3,value:"LIGATURE"},Ar.STUD={type:3,value:"STUD"},Ar.PUNCHING={type:3,value:"PUNCHING"},Ar.EDGE={type:3,value:"EDGE"},Ar.RING={type:3,value:"RING"},Ar.ANCHORING={type:3,value:"ANCHORING"},Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sr=Ar;t.IfcReinforcingBarRoleEnum=Sr;const Cr=class{};Cr.PLAIN={type:3,value:"PLAIN"},Cr.TEXTURED={type:3,value:"TEXTURED"};let vr=Cr;t.IfcReinforcingBarSurfaceEnum=vr;const Lr=class{};Lr.ANCHORING={type:3,value:"ANCHORING"},Lr.EDGE={type:3,value:"EDGE"},Lr.LIGATURE={type:3,value:"LIGATURE"},Lr.MAIN={type:3,value:"MAIN"},Lr.PUNCHING={type:3,value:"PUNCHING"},Lr.RING={type:3,value:"RING"},Lr.SHEAR={type:3,value:"SHEAR"},Lr.STUD={type:3,value:"STUD"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let br=Lr;t.IfcReinforcingBarTypeEnum=br;const Pr=class{};Pr.USERDEFINED={type:3,value:"USERDEFINED"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"};let gr=Pr;t.IfcReinforcingMeshTypeEnum=gr;const xr=class{};xr.SUPPLIER={type:3,value:"SUPPLIER"},xr.MANUFACTURER={type:3,value:"MANUFACTURER"},xr.CONTRACTOR={type:3,value:"CONTRACTOR"},xr.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},xr.ARCHITECT={type:3,value:"ARCHITECT"},xr.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},xr.COSTENGINEER={type:3,value:"COSTENGINEER"},xr.CLIENT={type:3,value:"CLIENT"},xr.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},xr.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},xr.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},xr.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},xr.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},xr.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},xr.CIVILENGINEER={type:3,value:"CIVILENGINEER"},xr.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},xr.ENGINEER={type:3,value:"ENGINEER"},xr.OWNER={type:3,value:"OWNER"},xr.CONSULTANT={type:3,value:"CONSULTANT"},xr.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},xr.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},xr.RESELLER={type:3,value:"RESELLER"},xr.USERDEFINED={type:3,value:"USERDEFINED"};let _r=xr;t.IfcRoleEnum=_r;const Mr=class{};Mr.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Mr.SHED_ROOF={type:3,value:"SHED_ROOF"},Mr.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Mr.HIP_ROOF={type:3,value:"HIP_ROOF"},Mr.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Mr.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Mr.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Mr.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Mr.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Mr.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Mr.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Mr.DOME_ROOF={type:3,value:"DOME_ROOF"},Mr.FREEFORM={type:3,value:"FREEFORM"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fr=Mr;t.IfcRoofTypeEnum=Fr;const Ur=class{};Ur.EXA={type:3,value:"EXA"},Ur.PETA={type:3,value:"PETA"},Ur.TERA={type:3,value:"TERA"},Ur.GIGA={type:3,value:"GIGA"},Ur.MEGA={type:3,value:"MEGA"},Ur.KILO={type:3,value:"KILO"},Ur.HECTO={type:3,value:"HECTO"},Ur.DECA={type:3,value:"DECA"},Ur.DECI={type:3,value:"DECI"},Ur.CENTI={type:3,value:"CENTI"},Ur.MILLI={type:3,value:"MILLI"},Ur.MICRO={type:3,value:"MICRO"},Ur.NANO={type:3,value:"NANO"},Ur.PICO={type:3,value:"PICO"},Ur.FEMTO={type:3,value:"FEMTO"},Ur.ATTO={type:3,value:"ATTO"};let wr=Ur;t.IfcSIPrefix=wr;const Gr=class{};Gr.AMPERE={type:3,value:"AMPERE"},Gr.BECQUEREL={type:3,value:"BECQUEREL"},Gr.CANDELA={type:3,value:"CANDELA"},Gr.COULOMB={type:3,value:"COULOMB"},Gr.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Gr.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Gr.FARAD={type:3,value:"FARAD"},Gr.GRAM={type:3,value:"GRAM"},Gr.GRAY={type:3,value:"GRAY"},Gr.HENRY={type:3,value:"HENRY"},Gr.HERTZ={type:3,value:"HERTZ"},Gr.JOULE={type:3,value:"JOULE"},Gr.KELVIN={type:3,value:"KELVIN"},Gr.LUMEN={type:3,value:"LUMEN"},Gr.LUX={type:3,value:"LUX"},Gr.METRE={type:3,value:"METRE"},Gr.MOLE={type:3,value:"MOLE"},Gr.NEWTON={type:3,value:"NEWTON"},Gr.OHM={type:3,value:"OHM"},Gr.PASCAL={type:3,value:"PASCAL"},Gr.RADIAN={type:3,value:"RADIAN"},Gr.SECOND={type:3,value:"SECOND"},Gr.SIEMENS={type:3,value:"SIEMENS"},Gr.SIEVERT={type:3,value:"SIEVERT"},Gr.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Gr.STERADIAN={type:3,value:"STERADIAN"},Gr.TESLA={type:3,value:"TESLA"},Gr.VOLT={type:3,value:"VOLT"},Gr.WATT={type:3,value:"WATT"},Gr.WEBER={type:3,value:"WEBER"};let Hr=Gr;t.IfcSIUnitName=Hr;const Br=class{};Br.BATH={type:3,value:"BATH"},Br.BIDET={type:3,value:"BIDET"},Br.CISTERN={type:3,value:"CISTERN"},Br.SHOWER={type:3,value:"SHOWER"},Br.SINK={type:3,value:"SINK"},Br.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Br.TOILETPAN={type:3,value:"TOILETPAN"},Br.URINAL={type:3,value:"URINAL"},Br.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Br.WCSEAT={type:3,value:"WCSEAT"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vr=Br;t.IfcSanitaryTerminalTypeEnum=Vr;const Wr=class{};Wr.UNIFORM={type:3,value:"UNIFORM"},Wr.TAPERED={type:3,value:"TAPERED"};let jr=Wr;t.IfcSectionTypeEnum=jr;const Yr=class{};Yr.COSENSOR={type:3,value:"COSENSOR"},Yr.CO2SENSOR={type:3,value:"CO2SENSOR"},Yr.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Yr.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Yr.FIRESENSOR={type:3,value:"FIRESENSOR"},Yr.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Yr.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Yr.GASSENSOR={type:3,value:"GASSENSOR"},Yr.HEATSENSOR={type:3,value:"HEATSENSOR"},Yr.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Yr.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Yr.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Yr.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Yr.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Yr.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Yr.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Yr.PHSENSOR={type:3,value:"PHSENSOR"},Yr.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Yr.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Yr.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Yr.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Yr.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Yr.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Yr.WINDSENSOR={type:3,value:"WINDSENSOR"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let zr=Yr;t.IfcSensorTypeEnum=zr;const kr=class{};kr.START_START={type:3,value:"START_START"},kr.START_FINISH={type:3,value:"START_FINISH"},kr.FINISH_START={type:3,value:"FINISH_START"},kr.FINISH_FINISH={type:3,value:"FINISH_FINISH"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xr=kr;t.IfcSequenceEnum=Xr;const Kr=class{};Kr.JALOUSIE={type:3,value:"JALOUSIE"},Kr.SHUTTER={type:3,value:"SHUTTER"},Kr.AWNING={type:3,value:"AWNING"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zr=Kr;t.IfcShadingDeviceTypeEnum=Zr;const qr=class{};qr.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},qr.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},qr.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},qr.P_LISTVALUE={type:3,value:"P_LISTVALUE"},qr.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},qr.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},qr.Q_LENGTH={type:3,value:"Q_LENGTH"},qr.Q_AREA={type:3,value:"Q_AREA"},qr.Q_VOLUME={type:3,value:"Q_VOLUME"},qr.Q_COUNT={type:3,value:"Q_COUNT"},qr.Q_WEIGHT={type:3,value:"Q_WEIGHT"},qr.Q_TIME={type:3,value:"Q_TIME"};let Qr=qr;t.IfcSimplePropertyTemplateTypeEnum=Qr;const Jr=class{};Jr.FLOOR={type:3,value:"FLOOR"},Jr.ROOF={type:3,value:"ROOF"},Jr.LANDING={type:3,value:"LANDING"},Jr.BASESLAB={type:3,value:"BASESLAB"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"};let $r=Jr;t.IfcSlabTypeEnum=$r;const tn=class{};tn.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},tn.SOLARPANEL={type:3,value:"SOLARPANEL"},tn.USERDEFINED={type:3,value:"USERDEFINED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"};let en=tn;t.IfcSolarDeviceTypeEnum=en;const sn=class{};sn.CONVECTOR={type:3,value:"CONVECTOR"},sn.RADIATOR={type:3,value:"RADIATOR"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let rn=sn;t.IfcSpaceHeaterTypeEnum=rn;const nn=class{};nn.SPACE={type:3,value:"SPACE"},nn.PARKING={type:3,value:"PARKING"},nn.GFA={type:3,value:"GFA"},nn.INTERNAL={type:3,value:"INTERNAL"},nn.EXTERNAL={type:3,value:"EXTERNAL"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"};let an=nn;t.IfcSpaceTypeEnum=an;const on=class{};on.CONSTRUCTION={type:3,value:"CONSTRUCTION"},on.FIRESAFETY={type:3,value:"FIRESAFETY"},on.LIGHTING={type:3,value:"LIGHTING"},on.OCCUPANCY={type:3,value:"OCCUPANCY"},on.SECURITY={type:3,value:"SECURITY"},on.THERMAL={type:3,value:"THERMAL"},on.TRANSPORT={type:3,value:"TRANSPORT"},on.VENTILATION={type:3,value:"VENTILATION"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"};let hn=on;t.IfcSpatialZoneTypeEnum=hn;const cn=class{};cn.BIRDCAGE={type:3,value:"BIRDCAGE"},cn.COWL={type:3,value:"COWL"},cn.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"};let ln=cn;t.IfcStackTerminalTypeEnum=ln;const pn=class{};pn.STRAIGHT={type:3,value:"STRAIGHT"},pn.WINDER={type:3,value:"WINDER"},pn.SPIRAL={type:3,value:"SPIRAL"},pn.CURVED={type:3,value:"CURVED"},pn.FREEFORM={type:3,value:"FREEFORM"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"};let un=pn;t.IfcStairFlightTypeEnum=un;const En=class{};En.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},En.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},En.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},En.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},En.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},En.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},En.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},En.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},En.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},En.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},En.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},En.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},En.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},En.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},En.USERDEFINED={type:3,value:"USERDEFINED"},En.NOTDEFINED={type:3,value:"NOTDEFINED"};let In=En;t.IfcStairTypeEnum=In;const yn=class{};yn.READWRITE={type:3,value:"READWRITE"},yn.READONLY={type:3,value:"READONLY"},yn.LOCKED={type:3,value:"LOCKED"},yn.READWRITELOCKED={type:3,value:"READWRITELOCKED"},yn.READONLYLOCKED={type:3,value:"READONLYLOCKED"};let Tn=yn;t.IfcStateEnum=Tn;const dn=class{};dn.CONST={type:3,value:"CONST"},dn.LINEAR={type:3,value:"LINEAR"},dn.POLYGONAL={type:3,value:"POLYGONAL"},dn.EQUIDISTANT={type:3,value:"EQUIDISTANT"},dn.SINUS={type:3,value:"SINUS"},dn.PARABOLA={type:3,value:"PARABOLA"},dn.DISCRETE={type:3,value:"DISCRETE"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Nn=dn;t.IfcStructuralCurveActivityTypeEnum=Nn;const Rn=class{};Rn.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Rn.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Rn.CABLE={type:3,value:"CABLE"},Rn.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Rn.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"};let fn=Rn;t.IfcStructuralCurveMemberTypeEnum=fn;const On=class{};On.CONST={type:3,value:"CONST"},On.BILINEAR={type:3,value:"BILINEAR"},On.DISCRETE={type:3,value:"DISCRETE"},On.ISOCONTOUR={type:3,value:"ISOCONTOUR"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"};let Dn=On;t.IfcStructuralSurfaceActivityTypeEnum=Dn;const mn=class{};mn.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},mn.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},mn.SHELL={type:3,value:"SHELL"},mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"};let An=mn;t.IfcStructuralSurfaceMemberTypeEnum=An;const Sn=class{};Sn.PURCHASE={type:3,value:"PURCHASE"},Sn.WORK={type:3,value:"WORK"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Cn=Sn;t.IfcSubContractResourceTypeEnum=Cn;const vn=class{};vn.MARK={type:3,value:"MARK"},vn.TAG={type:3,value:"TAG"},vn.TREATMENT={type:3,value:"TREATMENT"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ln=vn;t.IfcSurfaceFeatureTypeEnum=Ln;const bn=class{};bn.POSITIVE={type:3,value:"POSITIVE"},bn.NEGATIVE={type:3,value:"NEGATIVE"},bn.BOTH={type:3,value:"BOTH"};let Pn=bn;t.IfcSurfaceSide=Pn;const gn=class{};gn.CONTACTOR={type:3,value:"CONTACTOR"},gn.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},gn.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},gn.KEYPAD={type:3,value:"KEYPAD"},gn.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},gn.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},gn.STARTER={type:3,value:"STARTER"},gn.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},gn.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"};let xn=gn;t.IfcSwitchingDeviceTypeEnum=xn;const _n=class{};_n.PANEL={type:3,value:"PANEL"},_n.WORKSURFACE={type:3,value:"WORKSURFACE"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"};let Mn=_n;t.IfcSystemFurnitureElementTypeEnum=Mn;const Fn=class{};Fn.BASIN={type:3,value:"BASIN"},Fn.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Fn.EXPANSION={type:3,value:"EXPANSION"},Fn.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Fn.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Fn.STORAGE={type:3,value:"STORAGE"},Fn.VESSEL={type:3,value:"VESSEL"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Un=Fn;t.IfcTankTypeEnum=Un;const wn=class{};wn.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},wn.WORKTIME={type:3,value:"WORKTIME"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gn=wn;t.IfcTaskDurationEnum=Gn;const Hn=class{};Hn.ATTENDANCE={type:3,value:"ATTENDANCE"},Hn.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Hn.DEMOLITION={type:3,value:"DEMOLITION"},Hn.DISMANTLE={type:3,value:"DISMANTLE"},Hn.DISPOSAL={type:3,value:"DISPOSAL"},Hn.INSTALLATION={type:3,value:"INSTALLATION"},Hn.LOGISTIC={type:3,value:"LOGISTIC"},Hn.MAINTENANCE={type:3,value:"MAINTENANCE"},Hn.MOVE={type:3,value:"MOVE"},Hn.OPERATION={type:3,value:"OPERATION"},Hn.REMOVAL={type:3,value:"REMOVAL"},Hn.RENOVATION={type:3,value:"RENOVATION"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Bn=Hn;t.IfcTaskTypeEnum=Bn;const Vn=class{};Vn.COUPLER={type:3,value:"COUPLER"},Vn.FIXED_END={type:3,value:"FIXED_END"},Vn.TENSIONING_END={type:3,value:"TENSIONING_END"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Wn=Vn;t.IfcTendonAnchorTypeEnum=Wn;const jn=class{};jn.BAR={type:3,value:"BAR"},jn.COATED={type:3,value:"COATED"},jn.STRAND={type:3,value:"STRAND"},jn.WIRE={type:3,value:"WIRE"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Yn=jn;t.IfcTendonTypeEnum=Yn;const zn=class{};zn.LEFT={type:3,value:"LEFT"},zn.RIGHT={type:3,value:"RIGHT"},zn.UP={type:3,value:"UP"},zn.DOWN={type:3,value:"DOWN"};let kn=zn;t.IfcTextPath=kn;const Xn=class{};Xn.CONTINUOUS={type:3,value:"CONTINUOUS"},Xn.DISCRETE={type:3,value:"DISCRETE"},Xn.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Xn.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Xn.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Xn.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Kn=Xn;t.IfcTimeSeriesDataTypeEnum=Kn;const Zn=class{};Zn.CURRENT={type:3,value:"CURRENT"},Zn.FREQUENCY={type:3,value:"FREQUENCY"},Zn.INVERTER={type:3,value:"INVERTER"},Zn.RECTIFIER={type:3,value:"RECTIFIER"},Zn.VOLTAGE={type:3,value:"VOLTAGE"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"};let qn=Zn;t.IfcTransformerTypeEnum=qn;const Qn=class{};Qn.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Qn.CONTINUOUS={type:3,value:"CONTINUOUS"},Qn.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Qn.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"};let Jn=Qn;t.IfcTransitionCode=Jn;const $n=class{};$n.ELEVATOR={type:3,value:"ELEVATOR"},$n.ESCALATOR={type:3,value:"ESCALATOR"},$n.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},$n.CRANEWAY={type:3,value:"CRANEWAY"},$n.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"};let ta=$n;t.IfcTransportElementTypeEnum=ta;const ea=class{};ea.CARTESIAN={type:3,value:"CARTESIAN"},ea.PARAMETER={type:3,value:"PARAMETER"},ea.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let sa=ea;t.IfcTrimmingPreference=sa;const ia=class{};ia.FINNED={type:3,value:"FINNED"},ia.USERDEFINED={type:3,value:"USERDEFINED"},ia.NOTDEFINED={type:3,value:"NOTDEFINED"};let ra=ia;t.IfcTubeBundleTypeEnum=ra;const na=class{};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"};let aa=na;t.IfcUnitEnum=aa;const oa=class{};oa.ALARMPANEL={type:3,value:"ALARMPANEL"},oa.CONTROLPANEL={type:3,value:"CONTROLPANEL"},oa.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},oa.INDICATORPANEL={type:3,value:"INDICATORPANEL"},oa.MIMICPANEL={type:3,value:"MIMICPANEL"},oa.HUMIDISTAT={type:3,value:"HUMIDISTAT"},oa.THERMOSTAT={type:3,value:"THERMOSTAT"},oa.WEATHERSTATION={type:3,value:"WEATHERSTATION"},oa.USERDEFINED={type:3,value:"USERDEFINED"},oa.NOTDEFINED={type:3,value:"NOTDEFINED"};let ha=oa;t.IfcUnitaryControlElementTypeEnum=ha;const ca=class{};ca.AIRHANDLER={type:3,value:"AIRHANDLER"},ca.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ca.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ca.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ca.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ca.USERDEFINED={type:3,value:"USERDEFINED"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"};let la=ca;t.IfcUnitaryEquipmentTypeEnum=la;const pa=class{};pa.AIRRELEASE={type:3,value:"AIRRELEASE"},pa.ANTIVACUUM={type:3,value:"ANTIVACUUM"},pa.CHANGEOVER={type:3,value:"CHANGEOVER"},pa.CHECK={type:3,value:"CHECK"},pa.COMMISSIONING={type:3,value:"COMMISSIONING"},pa.DIVERTING={type:3,value:"DIVERTING"},pa.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},pa.DOUBLECHECK={type:3,value:"DOUBLECHECK"},pa.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},pa.FAUCET={type:3,value:"FAUCET"},pa.FLUSHING={type:3,value:"FLUSHING"},pa.GASCOCK={type:3,value:"GASCOCK"},pa.GASTAP={type:3,value:"GASTAP"},pa.ISOLATING={type:3,value:"ISOLATING"},pa.MIXING={type:3,value:"MIXING"},pa.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},pa.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},pa.REGULATING={type:3,value:"REGULATING"},pa.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},pa.STEAMTRAP={type:3,value:"STEAMTRAP"},pa.STOPCOCK={type:3,value:"STOPCOCK"},pa.USERDEFINED={type:3,value:"USERDEFINED"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"};let ua=pa;t.IfcValveTypeEnum=ua;const Ea=class{};Ea.COMPRESSION={type:3,value:"COMPRESSION"},Ea.SPRING={type:3,value:"SPRING"},Ea.USERDEFINED={type:3,value:"USERDEFINED"},Ea.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ia=Ea;t.IfcVibrationIsolatorTypeEnum=Ia;const ya=class{};ya.CUTOUT={type:3,value:"CUTOUT"},ya.NOTCH={type:3,value:"NOTCH"},ya.HOLE={type:3,value:"HOLE"},ya.MITER={type:3,value:"MITER"},ya.CHAMFER={type:3,value:"CHAMFER"},ya.EDGE={type:3,value:"EDGE"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ta=ya;t.IfcVoidingFeatureTypeEnum=Ta;const da=class{};da.MOVABLE={type:3,value:"MOVABLE"},da.PARAPET={type:3,value:"PARAPET"},da.PARTITIONING={type:3,value:"PARTITIONING"},da.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},da.SHEAR={type:3,value:"SHEAR"},da.SOLIDWALL={type:3,value:"SOLIDWALL"},da.STANDARD={type:3,value:"STANDARD"},da.POLYGONAL={type:3,value:"POLYGONAL"},da.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"};let Na=da;t.IfcWallTypeEnum=Na;const Ra=class{};Ra.FLOORTRAP={type:3,value:"FLOORTRAP"},Ra.FLOORWASTE={type:3,value:"FLOORWASTE"},Ra.GULLYSUMP={type:3,value:"GULLYSUMP"},Ra.GULLYTRAP={type:3,value:"GULLYTRAP"},Ra.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Ra.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Ra.WASTETRAP={type:3,value:"WASTETRAP"},Ra.USERDEFINED={type:3,value:"USERDEFINED"},Ra.NOTDEFINED={type:3,value:"NOTDEFINED"};let fa=Ra;t.IfcWasteTerminalTypeEnum=fa;const Oa=class{};Oa.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Oa.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Oa.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Oa.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Oa.TOPHUNG={type:3,value:"TOPHUNG"},Oa.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Oa.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Oa.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Oa.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Oa.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Oa.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Oa.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Oa.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Oa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Da=Oa;t.IfcWindowPanelOperationEnum=Da;const ma=class{};ma.LEFT={type:3,value:"LEFT"},ma.MIDDLE={type:3,value:"MIDDLE"},ma.RIGHT={type:3,value:"RIGHT"},ma.BOTTOM={type:3,value:"BOTTOM"},ma.TOP={type:3,value:"TOP"},ma.NOTDEFINED={type:3,value:"NOTDEFINED"};let Aa=ma;t.IfcWindowPanelPositionEnum=Aa;const Sa=class{};Sa.ALUMINIUM={type:3,value:"ALUMINIUM"},Sa.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Sa.STEEL={type:3,value:"STEEL"},Sa.WOOD={type:3,value:"WOOD"},Sa.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Sa.PLASTIC={type:3,value:"PLASTIC"},Sa.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},Sa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ca=Sa;t.IfcWindowStyleConstructionEnum=Ca;const va=class{};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"};let La=va;t.IfcWindowStyleOperationEnum=La;const ba=class{};ba.WINDOW={type:3,value:"WINDOW"},ba.SKYLIGHT={type:3,value:"SKYLIGHT"},ba.LIGHTDOME={type:3,value:"LIGHTDOME"},ba.USERDEFINED={type:3,value:"USERDEFINED"},ba.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pa=ba;t.IfcWindowTypeEnum=Pa;const ga=class{};ga.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ga.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ga.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ga.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ga.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ga.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ga.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ga.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ga.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ga.USERDEFINED={type:3,value:"USERDEFINED"},ga.NOTDEFINED={type:3,value:"NOTDEFINED"};let xa=ga;t.IfcWindowTypePartitioningEnum=xa;const _a=class{};_a.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},_a.SECONDSHIFT={type:3,value:"SECONDSHIFT"},_a.THIRDSHIFT={type:3,value:"THIRDSHIFT"},_a.USERDEFINED={type:3,value:"USERDEFINED"},_a.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ma=_a;t.IfcWorkCalendarTypeEnum=Ma;const Fa=class{};Fa.ACTUAL={type:3,value:"ACTUAL"},Fa.BASELINE={type:3,value:"BASELINE"},Fa.PLANNED={type:3,value:"PLANNED"},Fa.USERDEFINED={type:3,value:"USERDEFINED"},Fa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ua=Fa;t.IfcWorkPlanTypeEnum=Ua;const wa=class{};wa.ACTUAL={type:3,value:"ACTUAL"},wa.BASELINE={type:3,value:"BASELINE"},wa.PLANNED={type:3,value:"PLANNED"},wa.USERDEFINED={type:3,value:"USERDEFINED"},wa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ga=wa;t.IfcWorkScheduleTypeEnum=Ga;t.IfcActorRole=class extends Gu{constructor(t,e,s){super(),this.Role=t,this.UserDefinedRole=e,this.Description=s,this.type=3630933823}};class Ha extends Gu{constructor(t,e,s){super(),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.type=618182010}}t.IfcAddress=Ha;t.IfcApplication=class extends Gu{constructor(t,e,s,i){super(),this.ApplicationDeveloper=t,this.Version=e,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class Ba extends Gu{constructor(t,e,s,i,r,n,a,o,h,c){super(),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.Category=a,this.Condition=o,this.ArithmeticOperator=h,this.Components=c,this.type=411424972}}t.IfcAppliedValue=Ba;t.IfcApproval=class extends Gu{constructor(t,e,s,i,r,n,a,o,h){super(),this.Identifier=t,this.Name=e,this.Description=s,this.TimeOfApproval=i,this.Status=r,this.Level=n,this.Qualifier=a,this.RequestingApproval=o,this.GivingApproval=h,this.type=130549933}};class Va extends Gu{constructor(t){super(),this.Name=t,this.type=4037036970}}t.IfcBoundaryCondition=Va;t.IfcBoundaryEdgeCondition=class extends Va{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TranslationalStiffnessByLengthX=e,this.TranslationalStiffnessByLengthY=s,this.TranslationalStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=r,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};t.IfcBoundaryFaceCondition=class extends Va{constructor(t,e,s,i){super(t),this.Name=t,this.TranslationalStiffnessByAreaX=e,this.TranslationalStiffnessByAreaY=s,this.TranslationalStiffnessByAreaZ=i,this.type=3367102660}};class Wa extends Va{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TranslationalStiffnessX=e,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}t.IfcBoundaryNodeCondition=Wa;t.IfcBoundaryNodeConditionWarping=class extends Wa{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.TranslationalStiffnessX=e,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=o,this.type=2069777674}};class ja extends Gu{constructor(){super(),this.type=2859738748}}t.IfcConnectionGeometry=ja;class Ya extends ja{constructor(t,e){super(),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.type=2614616156}}t.IfcConnectionPointGeometry=Ya;t.IfcConnectionSurfaceGeometry=class extends ja{constructor(t,e){super(),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=e,this.type=2732653382}};t.IfcConnectionVolumeGeometry=class extends ja{constructor(t,e){super(),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=e,this.type=775493141}};class za extends Gu{constructor(t,e,s,i,r,n,a){super(),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}t.IfcConstraint=za;class ka extends Gu{constructor(t,e){super(),this.SourceCRS=t,this.TargetCRS=e,this.type=1785450214}}t.IfcCoordinateOperation=ka;class Xa extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.GeodeticDatum=s,this.VerticalDatum=i,this.type=1466758467}}t.IfcCoordinateReferenceSystem=Xa;t.IfcCostValue=class extends Ba{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h,c),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.Category=a,this.Condition=o,this.ArithmeticOperator=h,this.Components=c,this.type=602808272}};t.IfcDerivedUnit=class extends Gu{constructor(t,e,s){super(),this.Elements=t,this.UnitType=e,this.UserDefinedType=s,this.type=1765591967}};t.IfcDerivedUnitElement=class extends Gu{constructor(t,e){super(),this.Unit=t,this.Exponent=e,this.type=1045800335}};t.IfcDimensionalExponents=class extends Gu{constructor(t,e,s,i,r,n,a){super(),this.LengthExponent=t,this.MassExponent=e,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=r,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};class Ka extends Gu{constructor(){super(),this.type=4294318154}}t.IfcExternalInformation=Ka;class Za extends Gu{constructor(t,e,s){super(),this.Location=t,this.Identification=e,this.Name=s,this.type=3200245327}}t.IfcExternalReference=Za;t.IfcExternallyDefinedHatchStyle=class extends Za{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=2242383968}};t.IfcExternallyDefinedSurfaceStyle=class extends Za{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=1040185647}};t.IfcExternallyDefinedTextFont=class extends Za{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=3548104201}};t.IfcGridAxis=class extends Gu{constructor(t,e,s){super(),this.AxisTag=t,this.AxisCurve=e,this.SameSense=s,this.type=852622518}};t.IfcIrregularTimeSeriesValue=class extends Gu{constructor(t,e){super(),this.TimeStamp=t,this.ListValues=e,this.type=3020489413}};t.IfcLibraryInformation=class extends Ka{constructor(t,e,s,i,r,n){super(),this.Name=t,this.Version=e,this.Publisher=s,this.VersionDate=i,this.Location=r,this.Description=n,this.type=2655187982}};t.IfcLibraryReference=class extends Za{constructor(t,e,s,i,r,n){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.Description=i,this.Language=r,this.ReferencedLibrary=n,this.type=3452421091}};t.IfcLightDistributionData=class extends Gu{constructor(t,e,s){super(),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=e,this.LuminousIntensity=s,this.type=4162380809}};t.IfcLightIntensityDistribution=class extends Gu{constructor(t,e){super(),this.LightDistributionCurve=t,this.DistributionData=e,this.type=1566485204}};t.IfcMapConversion=class extends ka{constructor(t,e,s,i,r,n,a,o){super(t,e),this.SourceCRS=t,this.TargetCRS=e,this.Eastings=s,this.Northings=i,this.OrthogonalHeight=r,this.XAxisAbscissa=n,this.XAxisOrdinate=a,this.Scale=o,this.type=3057273783}};t.IfcMaterialClassificationRelationship=class extends Gu{constructor(t,e){super(),this.MaterialClassifications=t,this.ClassifiedMaterial=e,this.type=1847130766}};class qa extends Gu{constructor(){super(),this.type=760658860}}t.IfcMaterialDefinition=qa;class Qa extends qa{constructor(t,e,s,i,r,n,a){super(),this.Material=t,this.LayerThickness=e,this.IsVentilated=s,this.Name=i,this.Description=r,this.Category=n,this.Priority=a,this.type=248100487}}t.IfcMaterialLayer=Qa;t.IfcMaterialLayerSet=class extends qa{constructor(t,e,s){super(),this.MaterialLayers=t,this.LayerSetName=e,this.Description=s,this.type=3303938423}};t.IfcMaterialLayerWithOffsets=class extends Qa{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.Material=t,this.LayerThickness=e,this.IsVentilated=s,this.Name=i,this.Description=r,this.Category=n,this.Priority=a,this.OffsetDirection=o,this.OffsetValues=h,this.type=1847252529}};t.IfcMaterialList=class extends Gu{constructor(t){super(),this.Materials=t,this.type=2199411900}};class Ja extends qa{constructor(t,e,s,i,r,n){super(),this.Name=t,this.Description=e,this.Material=s,this.Profile=i,this.Priority=r,this.Category=n,this.type=2235152071}}t.IfcMaterialProfile=Ja;t.IfcMaterialProfileSet=class extends qa{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.MaterialProfiles=s,this.CompositeProfile=i,this.type=164193824}};t.IfcMaterialProfileWithOffsets=class extends Ja{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.Name=t,this.Description=e,this.Material=s,this.Profile=i,this.Priority=r,this.Category=n,this.OffsetValues=a,this.type=552965576}};class $a extends Gu{constructor(){super(),this.type=1507914824}}t.IfcMaterialUsageDefinition=$a;t.IfcMeasureWithUnit=class extends Gu{constructor(t,e){super(),this.ValueComponent=t,this.UnitComponent=e,this.type=2597039031}};t.IfcMetric=class extends za{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=o,this.ValueSource=h,this.DataValue=c,this.ReferencePath=l,this.type=3368373690}};t.IfcMonetaryUnit=class extends Gu{constructor(t){super(),this.Currency=t,this.type=2706619895}};class to extends Gu{constructor(t,e){super(),this.Dimensions=t,this.UnitType=e,this.type=1918398963}}t.IfcNamedUnit=to;class eo extends Gu{constructor(){super(),this.type=3701648758}}t.IfcObjectPlacement=eo;t.IfcObjective=class extends za{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=o,this.LogicalAggregator=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=l,this.type=2251480897}};t.IfcOrganization=class extends Gu{constructor(t,e,s,i,r){super(),this.Identification=t,this.Name=e,this.Description=s,this.Roles=i,this.Addresses=r,this.type=4251960020}};t.IfcOwnerHistory=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.OwningUser=t,this.OwningApplication=e,this.State=s,this.ChangeAction=i,this.LastModifiedDate=r,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=o,this.type=1207048766}};t.IfcPerson=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Identification=t,this.FamilyName=e,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=r,this.SuffixTitles=n,this.Roles=a,this.Addresses=o,this.type=2077209135}};t.IfcPersonAndOrganization=class extends Gu{constructor(t,e,s){super(),this.ThePerson=t,this.TheOrganization=e,this.Roles=s,this.type=101040310}};class so extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2483315170}}t.IfcPhysicalQuantity=so;class io extends so{constructor(t,e,s){super(t,e),this.Name=t,this.Description=e,this.Unit=s,this.type=2226359599}}t.IfcPhysicalSimpleQuantity=io;t.IfcPostalAddress=class extends Ha{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=r,this.PostalBox=n,this.Town=a,this.Region=o,this.PostalCode=h,this.Country=c,this.type=3355820592}};class ro extends Gu{constructor(){super(),this.type=677532197}}t.IfcPresentationItem=ro;class no extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}t.IfcPresentationLayerAssignment=no;t.IfcPresentationLayerWithStyle=class extends no{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.LayerOn=r,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=o,this.type=1304840413}};class ao extends Gu{constructor(t){super(),this.Name=t,this.type=3119450353}}t.IfcPresentationStyle=ao;t.IfcPresentationStyleAssignment=class extends Gu{constructor(t){super(),this.Styles=t,this.type=2417041796}};class oo extends Gu{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Representations=s,this.type=2095639259}}t.IfcProductRepresentation=oo;class ho extends Gu{constructor(t,e){super(),this.ProfileType=t,this.ProfileName=e,this.type=3958567839}}t.IfcProfileDef=ho;t.IfcProjectedCRS=class extends Xa{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.Name=t,this.Description=e,this.GeodeticDatum=s,this.VerticalDatum=i,this.MapProjection=r,this.MapZone=n,this.MapUnit=a,this.type=3843373140}};class co extends Gu{constructor(){super(),this.type=986844984}}t.IfcPropertyAbstraction=co;t.IfcPropertyEnumeration=class extends co{constructor(t,e,s){super(),this.Name=t,this.EnumerationValues=e,this.Unit=s,this.type=3710013099}};t.IfcQuantityArea=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.AreaValue=i,this.Formula=r,this.type=2044713172}};t.IfcQuantityCount=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.CountValue=i,this.Formula=r,this.type=2093928680}};t.IfcQuantityLength=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.LengthValue=i,this.Formula=r,this.type=931644368}};t.IfcQuantityTime=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.TimeValue=i,this.Formula=r,this.type=3252649465}};t.IfcQuantityVolume=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.VolumeValue=i,this.Formula=r,this.type=2405470396}};t.IfcQuantityWeight=class extends io{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.WeightValue=i,this.Formula=r,this.type=825690147}};t.IfcRecurrencePattern=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.RecurrenceType=t,this.DayComponent=e,this.WeekdayComponent=s,this.MonthComponent=i,this.Position=r,this.Interval=n,this.Occurrences=a,this.TimePeriods=o,this.type=3915482550}};t.IfcReference=class extends Gu{constructor(t,e,s,i,r){super(),this.TypeIdentifier=t,this.AttributeIdentifier=e,this.InstanceName=s,this.ListPositions=i,this.InnerReference=r,this.type=2433181523}};class lo extends Gu{constructor(t,e,s,i){super(),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1076942058}}t.IfcRepresentation=lo;class po extends Gu{constructor(t,e){super(),this.ContextIdentifier=t,this.ContextType=e,this.type=3377609919}}t.IfcRepresentationContext=po;class uo extends Gu{constructor(){super(),this.type=3008791417}}t.IfcRepresentationItem=uo;t.IfcRepresentationMap=class extends Gu{constructor(t,e){super(),this.MappingOrigin=t,this.MappedRepresentation=e,this.type=1660063152}};class Eo extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2439245199}}t.IfcResourceLevelRelationship=Eo;class Io extends Gu{constructor(t,e,s,i){super(),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2341007311}}t.IfcRoot=Io;t.IfcSIUnit=class extends to{constructor(t,e,s){super(new Uu(0),t),this.UnitType=t,this.Prefix=e,this.Name=s,this.type=448429030}};class yo extends Gu{constructor(t,e,s){super(),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.type=1054537805}}t.IfcSchedulingTime=yo;t.IfcShapeAspect=class extends Gu{constructor(t,e,s,i,r){super(),this.ShapeRepresentations=t,this.Name=e,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=r,this.type=867548509}};class To extends lo{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3982875396}}t.IfcShapeModel=To;t.IfcShapeRepresentation=class extends To{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class No extends Gu{constructor(t){super(),this.Name=t,this.type=2273995522}}t.IfcStructuralConnectionCondition=No;class Ro extends Gu{constructor(t){super(),this.Name=t,this.type=2162789131}}t.IfcStructuralLoad=Ro;t.IfcStructuralLoadConfiguration=class extends Ro{constructor(t,e,s){super(t),this.Name=t,this.Values=e,this.Locations=s,this.type=3478079324}};class fo extends Ro{constructor(t){super(t),this.Name=t,this.type=609421318}}t.IfcStructuralLoadOrResult=fo;class Oo extends fo{constructor(t){super(t),this.Name=t,this.type=2525727697}}t.IfcStructuralLoadStatic=Oo;t.IfcStructuralLoadTemperature=class extends Oo{constructor(t,e,s,i){super(t),this.Name=t,this.DeltaTConstant=e,this.DeltaTY=s,this.DeltaTZ=i,this.type=3408363356}};class Do extends lo{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=2830218821}}t.IfcStyleModel=Do;t.IfcStyledItem=class extends uo{constructor(t,e,s){super(),this.Item=t,this.Styles=e,this.Name=s,this.type=3958052878}};t.IfcStyledRepresentation=class extends Do{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3049322572}};t.IfcSurfaceReinforcementArea=class extends fo{constructor(t,e,s,i){super(t),this.Name=t,this.SurfaceReinforcement1=e,this.SurfaceReinforcement2=s,this.ShearReinforcement=i,this.type=2934153892}};t.IfcSurfaceStyle=class extends ao{constructor(t,e,s){super(t),this.Name=t,this.Side=e,this.Styles=s,this.type=1300840506}};t.IfcSurfaceStyleLighting=class extends ro{constructor(t,e,s,i){super(),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=e,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}};t.IfcSurfaceStyleRefraction=class extends ro{constructor(t,e){super(),this.RefractionIndex=t,this.DispersionFactor=e,this.type=1607154358}};class mo extends ro{constructor(t,e){super(),this.SurfaceColour=t,this.Transparency=e,this.type=846575682}}t.IfcSurfaceStyleShading=mo;t.IfcSurfaceStyleWithTextures=class extends ro{constructor(t){super(),this.Textures=t,this.type=1351298697}};class Ao extends ro{constructor(t,e,s,i,r){super(),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.type=626085974}}t.IfcSurfaceTexture=Ao;t.IfcTable=class extends Gu{constructor(t,e,s){super(),this.Name=t,this.Rows=e,this.Columns=s,this.type=985171141}};t.IfcTableColumn=class extends Gu{constructor(t,e,s,i,r){super(),this.Identifier=t,this.Name=e,this.Description=s,this.Unit=i,this.ReferencePath=r,this.type=2043862942}};t.IfcTableRow=class extends Gu{constructor(t,e){super(),this.RowCells=t,this.IsHeading=e,this.type=531007025}};class So extends yo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=o,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=l,this.FreeFloat=p,this.TotalFloat=u,this.IsCritical=E,this.StatusTime=I,this.ActualDuration=y,this.ActualStart=T,this.ActualFinish=d,this.RemainingTime=N,this.Completion=R,this.type=1549132990}}t.IfcTaskTime=So;t.IfcTaskTimeRecurring=class extends So{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f){super(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=o,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=l,this.FreeFloat=p,this.TotalFloat=u,this.IsCritical=E,this.StatusTime=I,this.ActualDuration=y,this.ActualStart=T,this.ActualFinish=d,this.RemainingTime=N,this.Completion=R,this.Recurrence=f,this.type=2771591690}};t.IfcTelecomAddress=class extends Ha{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=r,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=o,this.MessagingIDs=h,this.type=912023232}};t.IfcTextStyle=class extends ao{constructor(t,e,s,i,r){super(t),this.Name=t,this.TextCharacterAppearance=e,this.TextStyle=s,this.TextFontStyle=i,this.ModelOrDraughting=r,this.type=1447204868}};t.IfcTextStyleForDefinedFont=class extends ro{constructor(t,e){super(),this.Colour=t,this.BackgroundColour=e,this.type=2636378356}};t.IfcTextStyleTextModel=class extends ro{constructor(t,e,s,i,r,n,a){super(),this.TextIndent=t,this.TextAlign=e,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=r,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};class Co extends ro{constructor(t){super(),this.Maps=t,this.type=280115917}}t.IfcTextureCoordinate=Co;t.IfcTextureCoordinateGenerator=class extends Co{constructor(t,e,s){super(t),this.Maps=t,this.Mode=e,this.Parameter=s,this.type=1742049831}};t.IfcTextureMap=class extends Co{constructor(t,e,s){super(t),this.Maps=t,this.Vertices=e,this.MappedTo=s,this.type=2552916305}};t.IfcTextureVertex=class extends ro{constructor(t){super(),this.Coordinates=t,this.type=1210645708}};t.IfcTextureVertexList=class extends ro{constructor(t){super(),this.TexCoordsList=t,this.type=3611470254}};t.IfcTimePeriod=class extends Gu{constructor(t,e){super(),this.StartTime=t,this.EndTime=e,this.type=1199560280}};class vo extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.type=3101149627}}t.IfcTimeSeries=vo;t.IfcTimeSeriesValue=class extends Gu{constructor(t){super(),this.ListValues=t,this.type=581633288}};class Lo extends uo{constructor(){super(),this.type=1377556343}}t.IfcTopologicalRepresentationItem=Lo;t.IfcTopologyRepresentation=class extends To{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1735638870}};t.IfcUnitAssignment=class extends Gu{constructor(t){super(),this.Units=t,this.type=180925521}};class bo extends Lo{constructor(){super(),this.type=2799835756}}t.IfcVertex=bo;t.IfcVertexPoint=class extends bo{constructor(t){super(),this.VertexGeometry=t,this.type=1907098498}};t.IfcVirtualGridIntersection=class extends Gu{constructor(t,e){super(),this.IntersectingAxes=t,this.OffsetDistances=e,this.type=891718957}};t.IfcWorkTime=class extends yo{constructor(t,e,s,i,r,n){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.RecurrencePattern=i,this.Start=r,this.Finish=n,this.type=1236880293}};t.IfcApprovalRelationship=class extends Eo{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingApproval=s,this.RelatedApprovals=i,this.type=3869604511}};class Po extends ho{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.type=3798115385}}t.IfcArbitraryClosedProfileDef=Po;class go extends ho{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.type=1310608509}}t.IfcArbitraryOpenProfileDef=go;t.IfcArbitraryProfileDefWithVoids=class extends Po{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}};t.IfcBlobTexture=class extends Ao{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.RasterFormat=n,this.RasterCode=a,this.type=616511568}};t.IfcCenterLineProfileDef=class extends go{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.Thickness=i,this.type=3150382593}};t.IfcClassification=class extends Ka{constructor(t,e,s,i,r,n,a){super(),this.Source=t,this.Edition=e,this.EditionDate=s,this.Name=i,this.Description=r,this.Location=n,this.ReferenceTokens=a,this.type=747523909}};t.IfcClassificationReference=class extends Za{constructor(t,e,s,i,r,n){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.ReferencedSource=i,this.Description=r,this.Sort=n,this.type=647927063}};t.IfcColourRgbList=class extends ro{constructor(t){super(),this.ColourList=t,this.type=3285139300}};class xo extends ro{constructor(t){super(),this.Name=t,this.type=3264961684}}t.IfcColourSpecification=xo;t.IfcCompositeProfileDef=class extends ho{constructor(t,e,s,i){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Profiles=s,this.Label=i,this.type=1485152156}};class _o extends Lo{constructor(t){super(),this.CfsFaces=t,this.type=370225590}}t.IfcConnectedFaceSet=_o;t.IfcConnectionCurveGeometry=class extends ja{constructor(t,e){super(),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=e,this.type=1981873012}};t.IfcConnectionPointEccentricity=class extends Ya{constructor(t,e,s,i,r){super(t,e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=r,this.type=45288368}};t.IfcContextDependentUnit=class extends to{constructor(t,e,s){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.type=3050246964}};class Mo extends to{constructor(t,e,s,i){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.ConversionFactor=i,this.type=2889183280}}t.IfcConversionBasedUnit=Mo;t.IfcConversionBasedUnitWithOffset=class extends Mo{constructor(t,e,s,i,r){super(t,e,s,i),this.Dimensions=t,this.UnitType=e,this.Name=s,this.ConversionFactor=i,this.ConversionOffset=r,this.type=2713554722}};t.IfcCurrencyRelationship=class extends Eo{constructor(t,e,s,i,r,n,a){super(t,e),this.Name=t,this.Description=e,this.RelatingMonetaryUnit=s,this.RelatedMonetaryUnit=i,this.ExchangeRate=r,this.RateDateTime=n,this.RateSource=a,this.type=539742890}};t.IfcCurveStyle=class extends ao{constructor(t,e,s,i,r){super(t),this.Name=t,this.CurveFont=e,this.CurveWidth=s,this.CurveColour=i,this.ModelOrDraughting=r,this.type=3800577675}};t.IfcCurveStyleFont=class extends ro{constructor(t,e){super(),this.Name=t,this.PatternList=e,this.type=1105321065}};t.IfcCurveStyleFontAndScaling=class extends ro{constructor(t,e,s){super(),this.Name=t,this.CurveFont=e,this.CurveFontScaling=s,this.type=2367409068}};t.IfcCurveStyleFontPattern=class extends ro{constructor(t,e){super(),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=e,this.type=3510044353}};class Fo extends ho{constructor(t,e,s,i,r){super(t,e),this.ProfileType=t,this.ProfileName=e,this.ParentProfile=s,this.Operator=i,this.Label=r,this.type=3632507154}}t.IfcDerivedProfileDef=Fo;t.IfcDocumentInformation=class extends Ka{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(),this.Identification=t,this.Name=e,this.Description=s,this.Location=i,this.Purpose=r,this.IntendedUse=n,this.Scope=a,this.Revision=o,this.DocumentOwner=h,this.Editors=c,this.CreationTime=l,this.LastRevisionTime=p,this.ElectronicFormat=u,this.ValidFrom=E,this.ValidUntil=I,this.Confidentiality=y,this.Status=T,this.type=1154170062}};t.IfcDocumentInformationRelationship=class extends Eo{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.RelatingDocument=s,this.RelatedDocuments=i,this.RelationshipType=r,this.type=770865208}};t.IfcDocumentReference=class extends Za{constructor(t,e,s,i,r){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.Description=i,this.ReferencedDocument=r,this.type=3732053477}};class Uo extends Lo{constructor(t,e){super(),this.EdgeStart=t,this.EdgeEnd=e,this.type=3900360178}}t.IfcEdge=Uo;t.IfcEdgeCurve=class extends Uo{constructor(t,e,s,i){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}};t.IfcEventTime=class extends yo{constructor(t,e,s,i,r,n,a){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.ActualDate=i,this.EarlyDate=r,this.LateDate=n,this.ScheduleDate=a,this.type=211053100}};class wo extends co{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Properties=s,this.type=297599258}}t.IfcExtendedProperties=wo;t.IfcExternalReferenceRelationship=class extends Eo{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingReference=s,this.RelatedResourceObjects=i,this.type=1437805879}};class Go extends Lo{constructor(t){super(),this.Bounds=t,this.type=2556980723}}t.IfcFace=Go;class Ho extends Lo{constructor(t,e){super(),this.Bound=t,this.Orientation=e,this.type=1809719519}}t.IfcFaceBound=Ho;t.IfcFaceOuterBound=class extends Ho{constructor(t,e){super(t,e),this.Bound=t,this.Orientation=e,this.type=803316827}};class Bo extends Go{constructor(t,e,s){super(t),this.Bounds=t,this.FaceSurface=e,this.SameSense=s,this.type=3008276851}}t.IfcFaceSurface=Bo;t.IfcFailureConnectionCondition=class extends No{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TensionFailureX=e,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=r,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};t.IfcFillAreaStyle=class extends ao{constructor(t,e,s){super(t),this.Name=t,this.FillStyles=e,this.ModelorDraughting=s,this.type=738692330}};class Vo extends po{constructor(t,e,s,i,r,n){super(t,e),this.ContextIdentifier=t,this.ContextType=e,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=r,this.TrueNorth=n,this.type=3448662350}}t.IfcGeometricRepresentationContext=Vo;class Wo extends uo{constructor(){super(),this.type=2453401579}}t.IfcGeometricRepresentationItem=Wo;t.IfcGeometricRepresentationSubContext=class extends Vo{constructor(t,s,i,r,n,a){super(t,s,new e(0),null,new Uu(0),null),this.ContextIdentifier=t,this.ContextType=s,this.ParentContext=i,this.TargetScale=r,this.TargetView=n,this.UserDefinedTargetView=a,this.type=4142052618}};class jo extends Wo{constructor(t){super(),this.Elements=t,this.type=3590301190}}t.IfcGeometricSet=jo;t.IfcGridPlacement=class extends eo{constructor(t,e){super(),this.PlacementLocation=t,this.PlacementRefDirection=e,this.type=178086475}};class Yo extends Wo{constructor(t,e){super(),this.BaseSurface=t,this.AgreementFlag=e,this.type=812098782}}t.IfcHalfSpaceSolid=Yo;t.IfcImageTexture=class extends Ao{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.URLReference=n,this.type=3905492369}};t.IfcIndexedColourMap=class extends ro{constructor(t,e,s,i){super(),this.MappedTo=t,this.Opacity=e,this.Colours=s,this.ColourIndex=i,this.type=3570813810}};class zo extends Co{constructor(t,e,s){super(t),this.Maps=t,this.MappedTo=e,this.TexCoords=s,this.type=1437953363}}t.IfcIndexedTextureMap=zo;t.IfcIndexedTriangleTextureMap=class extends zo{constructor(t,e,s,i){super(t,e,s),this.Maps=t,this.MappedTo=e,this.TexCoords=s,this.TexCoordIndex=i,this.type=2133299955}};t.IfcIrregularTimeSeries=class extends vo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.Values=h,this.type=3741457305}};t.IfcLagTime=class extends yo{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.LagValue=i,this.DurationType=r,this.type=1585845231}};class ko extends Wo{constructor(t,e,s,i){super(),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}t.IfcLightSource=ko;t.IfcLightSourceAmbient=class extends ko{constructor(t,e,s,i){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}};t.IfcLightSourceDirectional=class extends ko{constructor(t,e,s,i,r){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=r,this.type=2604431987}};t.IfcLightSourceGoniometric=class extends ko{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=o,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class Xo extends ko{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.type=1520743889}}t.IfcLightSourcePositional=Xo;t.IfcLightSourceSpot=class extends Xo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=l,this.SpreadAngle=p,this.BeamWidthAngle=u,this.type=3422422726}};t.IfcLocalPlacement=class extends eo{constructor(t,e){super(),this.PlacementRelTo=t,this.RelativePlacement=e,this.type=2624227202}};class Ko extends Lo{constructor(){super(),this.type=1008929658}}t.IfcLoop=Ko;t.IfcMappedItem=class extends uo{constructor(t,e){super(),this.MappingSource=t,this.MappingTarget=e,this.type=2347385850}};t.IfcMaterial=class extends qa{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Category=s,this.type=1838606355}};t.IfcMaterialConstituent=class extends qa{constructor(t,e,s,i,r){super(),this.Name=t,this.Description=e,this.Material=s,this.Fraction=i,this.Category=r,this.type=3708119e3}};t.IfcMaterialConstituentSet=class extends qa{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.MaterialConstituents=s,this.type=2852063980}};t.IfcMaterialDefinitionRepresentation=class extends oo{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}};t.IfcMaterialLayerSetUsage=class extends $a{constructor(t,e,s,i,r){super(),this.ForLayerSet=t,this.LayerSetDirection=e,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.ReferenceExtent=r,this.type=1303795690}};class Zo extends $a{constructor(t,e,s){super(),this.ForProfileSet=t,this.CardinalPoint=e,this.ReferenceExtent=s,this.type=3079605661}}t.IfcMaterialProfileSetUsage=Zo;t.IfcMaterialProfileSetUsageTapering=class extends Zo{constructor(t,e,s,i,r){super(t,e,s),this.ForProfileSet=t,this.CardinalPoint=e,this.ReferenceExtent=s,this.ForProfileEndSet=i,this.CardinalEndPoint=r,this.type=3404854881}};t.IfcMaterialProperties=class extends wo{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Properties=s,this.Material=i,this.type=3265635763}};t.IfcMaterialRelationship=class extends Eo{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.RelatingMaterial=s,this.RelatedMaterials=i,this.Expression=r,this.type=853536259}};t.IfcMirroredProfileDef=class extends Fo{constructor(t,e,s,i){super(t,e,s,new Uu(0),i),this.ProfileType=t,this.ProfileName=e,this.ParentProfile=s,this.Label=i,this.type=2998442950}};class qo extends Io{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=219451334}}t.IfcObjectDefinition=qo;t.IfcOpenShell=class extends _o{constructor(t){super(t),this.CfsFaces=t,this.type=2665983363}};t.IfcOrganizationRelationship=class extends Eo{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}};t.IfcOrientedEdge=class extends Uo{constructor(t,e){super(new Uu(0),new Uu(0)),this.EdgeElement=t,this.Orientation=e,this.type=1029017970}};class Qo extends ho{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.type=2529465313}}t.IfcParameterizedProfileDef=Qo;t.IfcPath=class extends Lo{constructor(t){super(),this.EdgeList=t,this.type=2519244187}};t.IfcPhysicalComplexQuantity=class extends so{constructor(t,e,s,i,r,n){super(t,e),this.Name=t,this.Description=e,this.HasQuantities=s,this.Discrimination=i,this.Quality=r,this.Usage=n,this.type=3021840470}};t.IfcPixelTexture=class extends Ao{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.Width=n,this.Height=a,this.ColourComponents=o,this.Pixel=h,this.type=597895409}};class Jo extends Wo{constructor(t){super(),this.Location=t,this.type=2004835150}}t.IfcPlacement=Jo;class $o extends Wo{constructor(t,e){super(),this.SizeInX=t,this.SizeInY=e,this.type=1663979128}}t.IfcPlanarExtent=$o;class th extends Wo{constructor(){super(),this.type=2067069095}}t.IfcPoint=th;t.IfcPointOnCurve=class extends th{constructor(t,e){super(),this.BasisCurve=t,this.PointParameter=e,this.type=4022376103}};t.IfcPointOnSurface=class extends th{constructor(t,e,s){super(),this.BasisSurface=t,this.PointParameterU=e,this.PointParameterV=s,this.type=1423911732}};t.IfcPolyLoop=class extends Ko{constructor(t){super(),this.Polygon=t,this.type=2924175390}};t.IfcPolygonalBoundedHalfSpace=class extends Yo{constructor(t,e,s,i){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class eh extends ro{constructor(t){super(),this.Name=t,this.type=3727388367}}t.IfcPreDefinedItem=eh;class sh extends co{constructor(){super(),this.type=3778827333}}t.IfcPreDefinedProperties=sh;class ih extends eh{constructor(t){super(t),this.Name=t,this.type=1775413392}}t.IfcPreDefinedTextFont=ih;t.IfcProductDefinitionShape=class extends oo{constructor(t,e,s){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.type=673634403}};t.IfcProfileProperties=class extends wo{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Properties=s,this.ProfileDefinition=i,this.type=2802850158}};class rh extends co{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2598011224}}t.IfcProperty=rh;class nh extends Io{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=1680319473}}t.IfcPropertyDefinition=nh;t.IfcPropertyDependencyRelationship=class extends Eo{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.DependingProperty=s,this.DependantProperty=i,this.Expression=r,this.type=148025276}};class ah extends nh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3357820518}}t.IfcPropertySetDefinition=ah;class oh extends nh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=1482703590}}t.IfcPropertyTemplateDefinition=oh;class hh extends ah{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2090586900}}t.IfcQuantitySet=hh;class ch extends Qo{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.type=3615266464}}t.IfcRectangleProfileDef=ch;t.IfcRegularTimeSeries=class extends vo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.TimeStep=h,this.Values=c,this.type=3413951693}};t.IfcReinforcementBarProperties=class extends sh{constructor(t,e,s,i,r,n){super(),this.TotalCrossSectionArea=t,this.SteelGrade=e,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=r,this.BarCount=n,this.type=1580146022}};class lh extends Io{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=478536968}}t.IfcRelationship=lh;t.IfcResourceApprovalRelationship=class extends Eo{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatedResourceObjects=s,this.RelatingApproval=i,this.type=2943643501}};t.IfcResourceConstraintRelationship=class extends Eo{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingConstraint=s,this.RelatedResourceObjects=i,this.type=1608871552}};t.IfcResourceTime=class extends yo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.ScheduleWork=i,this.ScheduleUsage=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.ScheduleContour=o,this.LevelingDelay=h,this.IsOverAllocated=c,this.StatusTime=l,this.ActualWork=p,this.ActualUsage=u,this.ActualStart=E,this.ActualFinish=I,this.RemainingWork=y,this.RemainingUsage=T,this.Completion=d,this.type=1042787934}};t.IfcRoundedRectangleProfileDef=class extends ch{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.RoundingRadius=n,this.type=2778083089}};t.IfcSectionProperties=class extends sh{constructor(t,e,s){super(),this.SectionType=t,this.StartProfile=e,this.EndProfile=s,this.type=2042790032}};t.IfcSectionReinforcementProperties=class extends sh{constructor(t,e,s,i,r,n){super(),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=e,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=r,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};t.IfcSectionedSpine=class extends Wo{constructor(t,e,s){super(),this.SpineCurve=t,this.CrossSections=e,this.CrossSectionPositions=s,this.type=1509187699}};t.IfcShellBasedSurfaceModel=class extends Wo{constructor(t){super(),this.SbsmBoundary=t,this.type=4124623270}};class ph extends rh{constructor(t,e){super(t,e),this.Name=t,this.Description=e,this.type=3692461612}}t.IfcSimpleProperty=ph;t.IfcSlippageConnectionCondition=class extends No{constructor(t,e,s,i){super(t),this.Name=t,this.SlippageX=e,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class uh extends Wo{constructor(){super(),this.type=723233188}}t.IfcSolidModel=uh;t.IfcStructuralLoadLinearForce=class extends Oo{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.LinearForceX=e,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=r,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};t.IfcStructuralLoadPlanarForce=class extends Oo{constructor(t,e,s,i){super(t),this.Name=t,this.PlanarForceX=e,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class Eh extends Oo{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}t.IfcStructuralLoadSingleDisplacement=Eh;t.IfcStructuralLoadSingleDisplacementDistortion=class extends Eh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=o,this.type=1973038258}};class Ih extends Oo{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}t.IfcStructuralLoadSingleForce=Ih;t.IfcStructuralLoadSingleForceWarping=class extends Ih{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=o,this.type=1190533807}};t.IfcSubedge=class extends Uo{constructor(t,e,s){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.ParentEdge=s,this.type=2233826070}};class yh extends Wo{constructor(){super(),this.type=2513912981}}t.IfcSurface=yh;t.IfcSurfaceStyleRendering=class extends mo{constructor(t,e,s,i,r,n,a,o,h){super(t,e),this.SurfaceColour=t,this.Transparency=e,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=r,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=o,this.ReflectanceMethod=h,this.type=1878645084}};class Th extends uh{constructor(t,e){super(),this.SweptArea=t,this.Position=e,this.type=2247615214}}t.IfcSweptAreaSolid=Th;class dh extends uh{constructor(t,e,s,i,r){super(),this.Directrix=t,this.Radius=e,this.InnerRadius=s,this.StartParam=i,this.EndParam=r,this.type=1260650574}}t.IfcSweptDiskSolid=dh;t.IfcSweptDiskSolidPolygonal=class extends dh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.Directrix=t,this.Radius=e,this.InnerRadius=s,this.StartParam=i,this.EndParam=r,this.FilletRadius=n,this.type=1096409881}};class Nh extends yh{constructor(t,e){super(),this.SweptCurve=t,this.Position=e,this.type=230924584}}t.IfcSweptSurface=Nh;t.IfcTShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=l,this.FlangeSlope=p,this.type=3071757647}};class Rh extends Wo{constructor(){super(),this.type=901063453}}t.IfcTessellatedItem=Rh;class fh extends Wo{constructor(t,e,s){super(),this.Literal=t,this.Placement=e,this.Path=s,this.type=4282788508}}t.IfcTextLiteral=fh;t.IfcTextLiteralWithExtent=class extends fh{constructor(t,e,s,i,r){super(t,e,s),this.Literal=t,this.Placement=e,this.Path=s,this.Extent=i,this.BoxAlignment=r,this.type=3124975700}};t.IfcTextStyleFontModel=class extends ih{constructor(t,e,s,i,r,n){super(t),this.Name=t,this.FontFamily=e,this.FontStyle=s,this.FontVariant=i,this.FontWeight=r,this.FontSize=n,this.type=1983826977}};t.IfcTrapeziumProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.BottomXDim=i,this.TopXDim=r,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};class Oh extends qo{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.type=1628702193}}t.IfcTypeObject=Oh;class Dh extends Oh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.type=3736923433}}t.IfcTypeProcess=Dh;class mh extends Oh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.type=2347495698}}t.IfcTypeProduct=mh;class Ah extends Oh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.type=3698973494}}t.IfcTypeResource=Ah;t.IfcUShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.FlangeSlope=c,this.type=427810014}};t.IfcVector=class extends Wo{constructor(t,e){super(),this.Orientation=t,this.Magnitude=e,this.type=1417489154}};t.IfcVertexLoop=class extends Ko{constructor(t){super(),this.LoopVertex=t,this.type=2759199220}};t.IfcWindowStyle=class extends mh{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ConstructionType=h,this.OperationType=c,this.ParameterTakesPrecedence=l,this.Sizeable=p,this.type=1299126871}};t.IfcZShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.type=2543172580}};t.IfcAdvancedFace=class extends Bo{constructor(t,e,s){super(t,e,s),this.Bounds=t,this.FaceSurface=e,this.SameSense=s,this.type=3406155212}};t.IfcAnnotationFillArea=class extends Wo{constructor(t,e){super(),this.OuterBoundary=t,this.InnerBoundaries=e,this.type=669184980}};t.IfcAsymmetricIShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.BottomFlangeWidth=i,this.OverallDepth=r,this.WebThickness=n,this.BottomFlangeThickness=a,this.BottomFlangeFilletRadius=o,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=l,this.BottomFlangeEdgeRadius=p,this.BottomFlangeSlope=u,this.TopFlangeEdgeRadius=E,this.TopFlangeSlope=I,this.type=3207858831}};t.IfcAxis1Placement=class extends Jo{constructor(t,e){super(t),this.Location=t,this.Axis=e,this.type=4261334040}};t.IfcAxis2Placement2D=class extends Jo{constructor(t,e){super(t),this.Location=t,this.RefDirection=e,this.type=3125803723}};t.IfcAxis2Placement3D=class extends Jo{constructor(t,e,s){super(t),this.Location=t,this.Axis=e,this.RefDirection=s,this.type=2740243338}};class Sh extends Wo{constructor(t,e,s){super(),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=2736907675}}t.IfcBooleanResult=Sh;class Ch extends yh{constructor(){super(),this.type=4182860854}}t.IfcBoundedSurface=Ch;t.IfcBoundingBox=class extends Wo{constructor(t,e,s,i){super(),this.Corner=t,this.XDim=e,this.YDim=s,this.ZDim=i,this.type=2581212453}};t.IfcBoxedHalfSpace=class extends Yo{constructor(t,e,s){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Enclosure=s,this.type=2713105998}};t.IfcCShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=o,this.type=2898889636}};t.IfcCartesianPoint=class extends th{constructor(t){super(),this.Coordinates=t,this.type=1123145078}};class vh extends Wo{constructor(){super(),this.type=574549367}}t.IfcCartesianPointList=vh;t.IfcCartesianPointList2D=class extends vh{constructor(t){super(),this.CoordList=t,this.type=1675464909}};t.IfcCartesianPointList3D=class extends vh{constructor(t){super(),this.CoordList=t,this.type=2059837836}};class Lh extends Wo{constructor(t,e,s,i){super(),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}t.IfcCartesianTransformationOperator=Lh;class bh extends Lh{constructor(t,e,s,i){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}t.IfcCartesianTransformationOperator2D=bh;t.IfcCartesianTransformationOperator2DnonUniform=class extends bh{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Scale2=r,this.type=3486308946}};class Ph extends Lh{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.type=3331915920}}t.IfcCartesianTransformationOperator3D=Ph;t.IfcCartesianTransformationOperator3DnonUniform=class extends Ph{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class gh extends Qo{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.type=1383045692}}t.IfcCircleProfileDef=gh;t.IfcClosedShell=class extends _o{constructor(t){super(t),this.CfsFaces=t,this.type=2205249479}};t.IfcColourRgb=class extends xo{constructor(t,e,s,i){super(t),this.Name=t,this.Red=e,this.Green=s,this.Blue=i,this.type=776857604}};t.IfcComplexProperty=class extends rh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.UsageName=s,this.HasProperties=i,this.type=2542286263}};class xh extends Wo{constructor(t,e,s){super(),this.Transition=t,this.SameSense=e,this.ParentCurve=s,this.type=2485617015}}t.IfcCompositeCurveSegment=xh;class _h extends Ah{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.type=2574617495}}t.IfcConstructionResourceType=_h;class Mh extends qo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=3419103109}}t.IfcContext=Mh;t.IfcCrewResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=1815067380}};class Fh extends Wo{constructor(t){super(),this.Position=t,this.type=2506170314}}t.IfcCsgPrimitive3D=Fh;t.IfcCsgSolid=class extends uh{constructor(t){super(),this.TreeRootExpression=t,this.type=2147822146}};class Uh extends Wo{constructor(){super(),this.type=2601014836}}t.IfcCurve=Uh;t.IfcCurveBoundedPlane=class extends Ch{constructor(t,e,s){super(),this.BasisSurface=t,this.OuterBoundary=e,this.InnerBoundaries=s,this.type=2827736869}};t.IfcCurveBoundedSurface=class extends Ch{constructor(t,e,s){super(),this.BasisSurface=t,this.Boundaries=e,this.ImplicitOuter=s,this.type=2629017746}};t.IfcDirection=class extends Wo{constructor(t){super(),this.DirectionRatios=t,this.type=32440307}};t.IfcDoorStyle=class extends mh{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.OperationType=h,this.ConstructionType=c,this.ParameterTakesPrecedence=l,this.Sizeable=p,this.type=526551008}};t.IfcEdgeLoop=class extends Ko{constructor(t){super(),this.EdgeList=t,this.type=1472233963}};t.IfcElementQuantity=class extends hh{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.MethodOfMeasurement=r,this.Quantities=n,this.type=1883228015}};class wh extends mh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=339256511}}t.IfcElementType=wh;class Gh extends yh{constructor(t){super(),this.Position=t,this.type=2777663545}}t.IfcElementarySurface=Gh;t.IfcEllipseProfileDef=class extends Qo{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=r,this.type=2835456948}};t.IfcEventType=class extends Dh{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.EventTriggerType=l,this.UserDefinedEventTriggerType=p,this.type=4024345920}};class Hh extends Th{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}}t.IfcExtrudedAreaSolid=Hh;t.IfcExtrudedAreaSolidTapered=class extends Hh{constructor(t,e,s,i,r){super(t,e,s,i),this.SweptArea=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.EndSweptArea=r,this.type=2804161546}};t.IfcFaceBasedSurfaceModel=class extends Wo{constructor(t){super(),this.FbsmFaces=t,this.type=2047409740}};t.IfcFillAreaStyleHatching=class extends Wo{constructor(t,e,s,i,r){super(),this.HatchLineAppearance=t,this.StartOfNextHatchLine=e,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=r,this.type=374418227}};t.IfcFillAreaStyleTiles=class extends Wo{constructor(t,e,s){super(),this.TilingPattern=t,this.Tiles=e,this.TilingScale=s,this.type=315944413}};t.IfcFixedReferenceSweptAreaSolid=class extends Th{constructor(t,e,s,i,r,n){super(t,e),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.FixedReference=n,this.type=2652556860}};class Bh extends wh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=4238390223}}t.IfcFurnishingElementType=Bh;t.IfcFurnitureType=class extends Bh{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.AssemblyPlace=c,this.PredefinedType=l,this.type=1268542332}};t.IfcGeographicElementType=class extends wh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4095422895}};t.IfcGeometricCurveSet=class extends jo{constructor(t){super(t),this.Elements=t,this.type=987898635}};t.IfcIShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallWidth=i,this.OverallDepth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.FlangeEdgeRadius=h,this.FlangeSlope=c,this.type=1484403080}};class Vh extends Rh{constructor(t){super(),this.CoordIndex=t,this.type=178912537}}t.IfcIndexedPolygonalFace=Vh;t.IfcIndexedPolygonalFaceWithVoids=class extends Vh{constructor(t,e){super(t),this.CoordIndex=t,this.InnerCoordIndices=e,this.type=2294589976}};t.IfcLShapeProfileDef=class extends Qo{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=o,this.LegSlope=h,this.type=572779678}};t.IfcLaborResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=428585644}};t.IfcLine=class extends Uh{constructor(t,e){super(),this.Pnt=t,this.Dir=e,this.type=1281925730}};class Wh extends uh{constructor(t){super(),this.Outer=t,this.type=1425443689}}t.IfcManifoldSolidBrep=Wh;class jh extends qo{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3888040117}}t.IfcObject=jh;t.IfcOffsetCurve2D=class extends Uh{constructor(t,e,s){super(),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.type=3388369263}};t.IfcOffsetCurve3D=class extends Uh{constructor(t,e,s,i){super(),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}};t.IfcPcurve=class extends Uh{constructor(t,e){super(),this.BasisSurface=t,this.ReferenceCurve=e,this.type=1682466193}};t.IfcPlanarBox=class extends $o{constructor(t,e,s){super(t,e),this.SizeInX=t,this.SizeInY=e,this.Placement=s,this.type=603570806}};t.IfcPlane=class extends Gh{constructor(t){super(t),this.Position=t,this.type=220341763}};class Yh extends eh{constructor(t){super(t),this.Name=t,this.type=759155922}}t.IfcPreDefinedColour=Yh;class zh extends eh{constructor(t){super(t),this.Name=t,this.type=2559016684}}t.IfcPreDefinedCurveFont=zh;class kh extends ah{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3967405729}}t.IfcPreDefinedPropertySet=kh;t.IfcProcedureType=class extends Dh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.type=569719735}};class Xh extends jh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.type=2945172077}}t.IfcProcess=Xh;class Kh extends jh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}t.IfcProduct=Kh;t.IfcProject=class extends Mh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=103090709}};t.IfcProjectLibrary=class extends Mh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=653396225}};t.IfcPropertyBoundedValue=class extends ph{constructor(t,e,s,i,r,n){super(t,e),this.Name=t,this.Description=e,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=r,this.SetPointValue=n,this.type=871118103}};t.IfcPropertyEnumeratedValue=class extends ph{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}};t.IfcPropertyListValue=class extends ph{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.ListValues=s,this.Unit=i,this.type=2752243245}};t.IfcPropertyReferenceValue=class extends ph{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.UsageName=s,this.PropertyReference=i,this.type=941946838}};t.IfcPropertySet=class extends ah{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.HasProperties=r,this.type=1451395588}};t.IfcPropertySetTemplate=class extends oh{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.TemplateType=r,this.ApplicableEntity=n,this.HasPropertyTemplates=a,this.type=492091185}};t.IfcPropertySingleValue=class extends ph{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.NominalValue=s,this.Unit=i,this.type=3650150729}};t.IfcPropertyTableValue=class extends ph{constructor(t,e,s,i,r,n,a,o){super(t,e),this.Name=t,this.Description=e,this.DefiningValues=s,this.DefinedValues=i,this.Expression=r,this.DefiningUnit=n,this.DefinedUnit=a,this.CurveInterpolation=o,this.type=110355661}};class Zh extends oh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3521284610}}t.IfcPropertyTemplate=Zh;t.IfcProxy=class extends Kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.ProxyType=o,this.Tag=h,this.type=3219374653}};t.IfcRectangleHollowProfileDef=class extends ch{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=o,this.type=2770003689}};t.IfcRectangularPyramid=class extends Fh{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.Height=i,this.type=2798486643}};t.IfcRectangularTrimmedSurface=class extends Ch{constructor(t,e,s,i,r,n,a){super(),this.BasisSurface=t,this.U1=e,this.V1=s,this.U2=i,this.V2=r,this.Usense=n,this.Vsense=a,this.type=3454111270}};t.IfcReinforcementDefinitionProperties=class extends kh{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.DefinitionType=r,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class qh extends lh{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.type=3939117080}}t.IfcRelAssigns=qh;t.IfcRelAssignsToActor=class extends qh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=o,this.type=1683148259}};t.IfcRelAssignsToControl=class extends qh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}};class Qh extends qh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}}t.IfcRelAssignsToGroup=Qh;t.IfcRelAssignsToGroupByFactor=class extends Qh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingGroup=a,this.Factor=o,this.type=1027710054}};t.IfcRelAssignsToProcess=class extends qh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=o,this.type=4278684876}};t.IfcRelAssignsToProduct=class extends qh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};t.IfcRelAssignsToResource=class extends qh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class Jh extends lh{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.type=1865459582}}t.IfcRelAssociates=Jh;t.IfcRelAssociatesApproval=class extends Jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingApproval=n,this.type=4095574036}};t.IfcRelAssociatesClassification=class extends Jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingClassification=n,this.type=919958153}};t.IfcRelAssociatesConstraint=class extends Jh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};t.IfcRelAssociatesDocument=class extends Jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingDocument=n,this.type=982818633}};t.IfcRelAssociatesLibrary=class extends Jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingLibrary=n,this.type=3840914261}};t.IfcRelAssociatesMaterial=class extends Jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingMaterial=n,this.type=2655215786}};class $h extends lh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=826625072}}t.IfcRelConnects=$h;class tc extends $h{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}t.IfcRelConnectsElements=tc;t.IfcRelConnectsPathElements=class extends tc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=o,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=l,this.type=3945020480}};t.IfcRelConnectsPortToElement=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedElement=n,this.type=4201705270}};t.IfcRelConnectsPorts=class extends $h{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};t.IfcRelConnectsStructuralActivity=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedStructuralActivity=n,this.type=2127690289}};class ec extends $h{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}t.IfcRelConnectsStructuralMember=ec;t.IfcRelConnectsWithEccentricity=class extends ec{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=l,this.type=504942748}};t.IfcRelConnectsWithRealizingElements=class extends tc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=o,this.ConnectionType=h,this.type=3678494232}};t.IfcRelContainedInSpatialStructure=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=3242617779}};t.IfcRelCoversBldgElements=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedCoverings=n,this.type=886880790}};t.IfcRelCoversSpaces=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedCoverings=n,this.type=2802773753}};t.IfcRelDeclares=class extends lh{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingContext=r,this.RelatedDefinitions=n,this.type=2565941209}};class sc extends lh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2551354335}}t.IfcRelDecomposes=sc;class ic extends lh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=693640335}}t.IfcRelDefines=ic;t.IfcRelDefinesByObject=class extends ic{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingObject=n,this.type=1462361463}};t.IfcRelDefinesByProperties=class extends ic{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingPropertyDefinition=n,this.type=4186316022}};t.IfcRelDefinesByTemplate=class extends ic{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedPropertySets=r,this.RelatingTemplate=n,this.type=307848117}};t.IfcRelDefinesByType=class extends ic{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingType=n,this.type=781010003}};t.IfcRelFillsElement=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingOpeningElement=r,this.RelatedBuildingElement=n,this.type=3940055652}};t.IfcRelFlowControlElements=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedControlElements=r,this.RelatingFlowElement=n,this.type=279856033}};t.IfcRelInterferesElements=class extends $h{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedElement=n,this.InterferenceGeometry=a,this.InterferenceType=o,this.ImpliedOrder=h,this.type=427948657}};t.IfcRelNests=class extends sc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=3268803585}};t.IfcRelProjectsElement=class extends sc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedFeatureElement=n,this.type=750771296}};t.IfcRelReferencedInSpatialStructure=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=1245217292}};t.IfcRelSequence=class extends $h{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingProcess=r,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=o,this.UserDefinedSequenceType=h,this.type=4122056220}};t.IfcRelServicesBuildings=class extends $h{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSystem=r,this.RelatedBuildings=n,this.type=366585022}};class rc extends $h{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.type=3451746338}}t.IfcRelSpaceBoundary=rc;class nc extends rc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.type=3523091289}}t.IfcRelSpaceBoundary1stLevel=nc;t.IfcRelSpaceBoundary2ndLevel=class extends nc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.CorrespondingBoundary=l,this.type=1521410863}};t.IfcRelVoidsElement=class extends sc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedOpeningElement=n,this.type=1401173127}};t.IfcReparametrisedCompositeCurveSegment=class extends xh{constructor(t,e,s,i){super(t,e,s),this.Transition=t,this.SameSense=e,this.ParentCurve=s,this.ParamLength=i,this.type=816062949}};class ac extends jh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.type=2914609552}}t.IfcResource=ac;class oc extends Th{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.Axis=s,this.Angle=i,this.type=1856042241}}t.IfcRevolvedAreaSolid=oc;t.IfcRevolvedAreaSolidTapered=class extends oc{constructor(t,e,s,i,r){super(t,e,s,i),this.SweptArea=t,this.Position=e,this.Axis=s,this.Angle=i,this.EndSweptArea=r,this.type=3243963512}};t.IfcRightCircularCone=class extends Fh{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.BottomRadius=s,this.type=4158566097}};t.IfcRightCircularCylinder=class extends Fh{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.Radius=s,this.type=3626867408}};t.IfcSimplePropertyTemplate=class extends Zh{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.TemplateType=r,this.PrimaryMeasureType=n,this.SecondaryMeasureType=a,this.Enumerators=o,this.PrimaryUnit=h,this.SecondaryUnit=c,this.Expression=l,this.AccessState=p,this.type=3663146110}};class hc extends Kh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.type=1412071761}}t.IfcSpatialElement=hc;class cc extends mh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=710998568}}t.IfcSpatialElementType=cc;class lc extends hc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.type=2706606064}}t.IfcSpatialStructureElement=lc;class pc extends cc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3893378262}}t.IfcSpatialStructureElementType=pc;t.IfcSpatialZone=class extends hc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.PredefinedType=h,this.type=463610769}};t.IfcSpatialZoneType=class extends cc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.LongName=l,this.type=2481509218}};t.IfcSphere=class extends Fh{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=451544542}};t.IfcSphericalSurface=class extends Gh{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=4015995234}};class uc extends Kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3544373492}}t.IfcStructuralActivity=uc;class Ec extends Kh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}t.IfcStructuralItem=Ec;class Ic extends Ec{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}t.IfcStructuralMember=Ic;class yc extends uc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3689010777}}t.IfcStructuralReaction=yc;class Tc extends Ic{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.type=3979015343}}t.IfcStructuralSurfaceMember=Tc;t.IfcStructuralSurfaceMemberVarying=class extends Tc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.type=2218152070}};t.IfcStructuralSurfaceReaction=class extends yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=603775116}};t.IfcSubContractResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=4095615324}};class dc extends Uh{constructor(t,e,s){super(),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=699246055}}t.IfcSurfaceCurve=dc;t.IfcSurfaceCurveSweptAreaSolid=class extends Th{constructor(t,e,s,i,r,n){super(t,e),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.ReferenceSurface=n,this.type=2028607225}};t.IfcSurfaceOfLinearExtrusion=class extends Nh{constructor(t,e,s,i){super(t,e),this.SweptCurve=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}};t.IfcSurfaceOfRevolution=class extends Nh{constructor(t,e,s){super(t,e),this.SweptCurve=t,this.Position=e,this.AxisPosition=s,this.type=4124788165}};t.IfcSystemFurnitureElementType=class extends Bh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1580310250}};t.IfcTask=class extends Xh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Status=o,this.WorkMethod=h,this.IsMilestone=c,this.Priority=l,this.TaskTime=p,this.PredefinedType=u,this.type=3473067441}};t.IfcTaskType=class extends Dh{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.WorkMethod=l,this.type=3206491090}};class Nc extends Rh{constructor(t){super(),this.Coordinates=t,this.type=2387106220}}t.IfcTessellatedFaceSet=Nc;t.IfcToroidalSurface=class extends Gh{constructor(t,e,s){super(t),this.Position=t,this.MajorRadius=e,this.MinorRadius=s,this.type=1935646853}};t.IfcTransportElementType=class extends wh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};t.IfcTriangulatedFaceSet=class extends Nc{constructor(t,e,s,i,r){super(t),this.Coordinates=t,this.Normals=e,this.Closed=s,this.CoordIndex=i,this.PnIndex=r,this.type=2916149573}};t.IfcWindowLiningProperties=class extends kh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=o,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=l,this.SecondMullionOffset=p,this.ShapeAspectStyle=u,this.LiningOffset=E,this.LiningToPanelOffsetX=I,this.LiningToPanelOffsetY=y,this.type=336235671}};t.IfcWindowPanelProperties=class extends kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=512836454}};class Rc extends jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.type=2296667514}}t.IfcActor=Rc;class fc extends Wh{constructor(t){super(t),this.Outer=t,this.type=1635779807}}t.IfcAdvancedBrep=fc;t.IfcAdvancedBrepWithVoids=class extends fc{constructor(t,e){super(t),this.Outer=t,this.Voids=e,this.type=2603310189}};t.IfcAnnotation=class extends Kh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1674181508}};class Oc extends Ch{constructor(t,e,s,i,r,n,a){super(),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.type=2887950389}}t.IfcBSplineSurface=Oc;class Dc extends Oc{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=o,this.VMultiplicities=h,this.UKnots=c,this.VKnots=l,this.KnotSpec=p,this.type=167062518}}t.IfcBSplineSurfaceWithKnots=Dc;t.IfcBlock=class extends Fh{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.ZLength=i,this.type=1334484129}};t.IfcBooleanClippingResult=class extends Sh{constructor(t,e,s){super(t,e,s),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=3649129432}};class mc extends Uh{constructor(){super(),this.type=1260505505}}t.IfcBoundedCurve=mc;t.IfcBuilding=class extends lc{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=l,this.BuildingAddress=p,this.type=4031249490}};class Ac extends wh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1950629157}}t.IfcBuildingElementType=Ac;t.IfcBuildingStorey=class extends lc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};t.IfcChimneyType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2197970202}};t.IfcCircleHollowProfileDef=class extends gh{constructor(t,e,s,i,r){super(t,e,s,i),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.WallThickness=r,this.type=2937912522}};t.IfcCivilElementType=class extends wh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3893394355}};t.IfcColumnType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};t.IfcComplexPropertyTemplate=class extends Zh{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.UsageName=r,this.TemplateType=n,this.HasPropertyTemplates=a,this.type=3875453745}};class Sc extends mc{constructor(t,e){super(),this.Segments=t,this.SelfIntersect=e,this.type=3732776249}}t.IfcCompositeCurve=Sc;class Cc extends Sc{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=15328376}}t.IfcCompositeCurveOnSurface=Cc;class vc extends Uh{constructor(t){super(),this.Position=t,this.type=2510884976}}t.IfcConic=vc;t.IfcConstructionEquipmentResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=2185764099}};t.IfcConstructionMaterialResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=4105962743}};t.IfcConstructionProductResourceType=class extends _h{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=1525564444}};class Lc extends ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.type=2559216714}}t.IfcConstructionResource=Lc;class bc extends jh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.type=3293443760}}t.IfcControl=bc;t.IfcCostItem=class extends bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.CostValues=o,this.CostQuantities=h,this.type=3895139033}};t.IfcCostSchedule=class extends bc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.SubmittedOn=h,this.UpdateDate=c,this.type=1419761937}};t.IfcCoveringType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};t.IfcCrewResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3295246426}};t.IfcCurtainWallType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};t.IfcCylindricalSurface=class extends Gh{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=1213902940}};class Pc extends wh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3256556792}}t.IfcDistributionElementType=Pc;class gc extends Pc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3849074793}}t.IfcDistributionFlowElementType=gc;t.IfcDoorLiningProperties=class extends kh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=o,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=l,this.ThresholdOffset=p,this.CasingThickness=u,this.CasingDepth=E,this.ShapeAspectStyle=I,this.LiningToPanelOffsetX=y,this.LiningToPanelOffsetY=T,this.type=2963535650}};t.IfcDoorPanelProperties=class extends kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.PanelDepth=r,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=o,this.ShapeAspectStyle=h,this.type=1714330368}};t.IfcDoorType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.OperationType=l,this.ParameterTakesPrecedence=p,this.UserDefinedOperationType=u,this.type=2323601079}};t.IfcDraughtingPreDefinedColour=class extends Yh{constructor(t){super(t),this.Name=t,this.type=445594917}};t.IfcDraughtingPreDefinedCurveFont=class extends zh{constructor(t){super(t),this.Name=t,this.type=4006246654}};class xc extends Kh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1758889154}}t.IfcElement=xc;t.IfcElementAssembly=class extends xc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};t.IfcElementAssemblyType=class extends wh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2397081782}};class _c extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1623761950}}t.IfcElementComponent=_c;class Mc extends wh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2590856083}}t.IfcElementComponentType=Mc;t.IfcEllipse=class extends vc{constructor(t,e,s){super(t),this.Position=t,this.SemiAxis1=e,this.SemiAxis2=s,this.type=1704287377}};class Fc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2107101300}}t.IfcEnergyConversionDeviceType=Fc;t.IfcEngineType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=132023988}};t.IfcEvaporativeCoolerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};t.IfcEvaporatorType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};t.IfcEvent=class extends Xh{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.PredefinedType=o,this.EventTriggerType=h,this.UserDefinedEventTriggerType=c,this.EventOccurenceTime=l,this.type=4148101412}};class Uc extends hc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.type=2853485674}}t.IfcExternalSpatialStructureElement=Uc;class wc extends Wh{constructor(t){super(t),this.Outer=t,this.type=807026263}}t.IfcFacetedBrep=wc;t.IfcFacetedBrepWithVoids=class extends wc{constructor(t,e){super(t),this.Outer=t,this.Voids=e,this.type=3737207727}};t.IfcFastener=class extends _c{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=647756555}};t.IfcFastenerType=class extends Mc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2489546625}};class Gc extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2827207264}}t.IfcFeatureElement=Gc;class Hc extends Gc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2143335405}}t.IfcFeatureElementAddition=Hc;class Bc extends Gc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1287392070}}t.IfcFeatureElementSubtraction=Bc;class Vc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3907093117}}t.IfcFlowControllerType=Vc;class Wc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3198132628}}t.IfcFlowFittingType=Wc;t.IfcFlowMeterType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class jc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1482959167}}t.IfcFlowMovingDeviceType=jc;class Yc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1834744321}}t.IfcFlowSegmentType=Yc;class zc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1339347760}}t.IfcFlowStorageDeviceType=zc;class kc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2297155007}}t.IfcFlowTerminalType=kc;class Xc extends gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3009222698}}t.IfcFlowTreatmentDeviceType=Xc;t.IfcFootingType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1893162501}};class Kc extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=263784265}}t.IfcFurnishingElement=Kc;t.IfcFurniture=class extends Kc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1509553395}};t.IfcGeographicElement=class extends xc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3493046030}};t.IfcGrid=class extends Kh{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.UAxes=o,this.VAxes=h,this.WAxes=c,this.PredefinedType=l,this.type=3009204131}};class Zc extends jh{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2706460486}}t.IfcGroup=Zc;t.IfcHeatExchangerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};t.IfcHumidifierType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};t.IfcIndexedPolyCurve=class extends mc{constructor(t,e,s){super(),this.Points=t,this.Segments=e,this.SelfIntersect=s,this.type=2571569899}};t.IfcInterceptorType=class extends Xc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3946677679}};t.IfcIntersectionCurve=class extends dc{constructor(t,e,s){super(t,e,s),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=3113134337}};t.IfcInventory=class extends Zc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.Jurisdiction=a,this.ResponsiblePersons=o,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=l,this.type=2391368822}};t.IfcJunctionBoxType=class extends Wc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};t.IfcLaborResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3827777499}};t.IfcLampType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};t.IfcLightFixtureType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};t.IfcMechanicalFastener=class extends _c{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NominalDiameter=h,this.NominalLength=c,this.PredefinedType=l,this.type=377706215}};t.IfcMechanicalFastenerType=class extends Mc{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.NominalLength=p,this.type=2108223431}};t.IfcMedicalDeviceType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1114901282}};t.IfcMemberType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};t.IfcMotorConnectionType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};t.IfcOccupant=class extends Rc{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};class qc extends Bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3588315303}}t.IfcOpeningElement=qc;t.IfcOpeningStandardCase=class extends qc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3079942009}};t.IfcOutletType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};t.IfcPerformanceHistory=class extends bc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LifeCyclePhase=a,this.PredefinedType=o,this.type=2382730787}};t.IfcPermeableCoveringProperties=class extends kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=3566463478}};t.IfcPermit=class extends bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=3327091369}};t.IfcPileType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1158309216}};t.IfcPipeFittingType=class extends Wc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};t.IfcPipeSegmentType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};t.IfcPlateType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};t.IfcPolygonalFaceSet=class extends Nc{constructor(t,e,s,i){super(t),this.Coordinates=t,this.Closed=e,this.Faces=s,this.PnIndex=i,this.type=2839578677}};t.IfcPolyline=class extends mc{constructor(t){super(),this.Points=t,this.type=3724593414}};class Qc extends Kh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}t.IfcPort=Qc;t.IfcProcedure=class extends Xh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.PredefinedType=o,this.type=2744685151}};t.IfcProjectOrder=class extends bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=2904328755}};t.IfcProjectionElement=class extends Hc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3651124850}};t.IfcProtectiveDeviceType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};t.IfcPumpType=class extends jc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};t.IfcRailingType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};t.IfcRampFlightType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};t.IfcRampType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1469900589}};t.IfcRationalBSplineSurfaceWithKnots=class extends Dc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h,c,l,p),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=o,this.VMultiplicities=h,this.UKnots=c,this.VKnots=l,this.KnotSpec=p,this.WeightsData=u,this.type=683857671}};class Jc extends _c{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.type=3027567501}}t.IfcReinforcingElement=Jc;class $c extends Mc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=964333572}}t.IfcReinforcingElementType=$c;t.IfcReinforcingMesh=class extends Jc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=l,this.LongitudinalBarNominalDiameter=p,this.TransverseBarNominalDiameter=u,this.LongitudinalBarCrossSectionArea=E,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=y,this.TransverseBarSpacing=T,this.PredefinedType=d,this.type=2320036040}};t.IfcReinforcingMeshType=class extends $c{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.MeshLength=l,this.MeshWidth=p,this.LongitudinalBarNominalDiameter=u,this.TransverseBarNominalDiameter=E,this.LongitudinalBarCrossSectionArea=I,this.TransverseBarCrossSectionArea=y,this.LongitudinalBarSpacing=T,this.TransverseBarSpacing=d,this.BendingShapeCode=N,this.BendingParameters=R,this.type=2310774935}};t.IfcRelAggregates=class extends sc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=160246688}};t.IfcRoofType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2781568857}};t.IfcSanitaryTerminalType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};t.IfcSeamCurve=class extends dc{constructor(t,e,s){super(t,e,s),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=2157484638}};t.IfcShadingDeviceType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4074543187}};t.IfcSite=class extends lc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=l,this.RefElevation=p,this.LandTitleNumber=u,this.SiteAddress=E,this.type=4097777520}};t.IfcSlabType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};t.IfcSolarDeviceType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1072016465}};t.IfcSpace=class extends lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.ElevationWithFlooring=l,this.type=3856911033}};t.IfcSpaceHeaterType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};t.IfcSpaceType=class extends pc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.LongName=l,this.type=3812236995}};t.IfcStackTerminalType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};t.IfcStairFlightType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};t.IfcStairType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=338393293}};class tl extends uc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=682877961}}t.IfcStructuralAction=tl;class el extends Ec{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1179482911}}t.IfcStructuralConnection=el;class sl extends tl{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1004757350}}t.IfcStructuralCurveAction=sl;t.IfcStructuralCurveConnection=class extends el{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.Axis=h,this.type=4243806635}};class il extends Ic{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Axis=h,this.type=214636428}}t.IfcStructuralCurveMember=il;t.IfcStructuralCurveMemberVarying=class extends il{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Axis=h,this.type=2445595289}};t.IfcStructuralCurveReaction=class extends yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=2757150158}};t.IfcStructuralLinearAction=class extends sl{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1807405624}};class rl extends Zc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.ActionType=a,this.ActionSource=o,this.Coefficient=h,this.Purpose=c,this.type=1252848954}}t.IfcStructuralLoadGroup=rl;t.IfcStructuralPointAction=class extends tl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=2082059205}};t.IfcStructuralPointConnection=class extends el{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.ConditionCoordinateSystem=h,this.type=734778138}};t.IfcStructuralPointReaction=class extends yc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=1235345126}};t.IfcStructuralResultGroup=class extends Zc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=o,this.type=2986769608}};class nl extends tl{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=3657597509}}t.IfcStructuralSurfaceAction=nl;t.IfcStructuralSurfaceConnection=class extends el{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1975003073}};t.IfcSubContractResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=148013059}};t.IfcSurfaceFeature=class extends Gc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3101698114}};t.IfcSwitchingDeviceType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class al extends Zc{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2254336722}}t.IfcSystem=al;t.IfcSystemFurnitureElement=class extends Kc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=413509423}};t.IfcTankType=class extends zc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};t.IfcTendon=class extends Jc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.TensionForce=u,this.PreStress=E,this.FrictionCoefficient=I,this.AnchorageSlip=y,this.MinCurvatureRadius=T,this.type=3824725483}};t.IfcTendonAnchor=class extends Jc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.type=2347447852}};t.IfcTendonAnchorType=class extends $c{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3081323446}};t.IfcTendonType=class extends $c{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.SheathDiameter=u,this.type=2415094496}};t.IfcTransformerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};t.IfcTransportElement=class extends xc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1620046519}};t.IfcTrimmedCurve=class extends mc{constructor(t,e,s,i,r){super(),this.BasisCurve=t,this.Trim1=e,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=r,this.type=3593883385}};t.IfcTubeBundleType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};t.IfcUnitaryEquipmentType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};t.IfcValveType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};t.IfcVibrationIsolator=class extends _c{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2391383451}};t.IfcVibrationIsolatorType=class extends Mc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};t.IfcVirtualElement=class extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2769231204}};t.IfcVoidingFeature=class extends Bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=926996030}};t.IfcWallType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};t.IfcWasteTerminalType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};t.IfcWindowType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.PartitioningType=l,this.ParameterTakesPrecedence=p,this.UserDefinedPartitioningType=u,this.type=4009809668}};t.IfcWorkCalendar=class extends bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.WorkingTimes=a,this.ExceptionTimes=o,this.PredefinedType=h,this.type=4088093105}};class ol extends bc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.type=1028945134}}t.IfcWorkControl=ol;t.IfcWorkPlan=class extends ol{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.PredefinedType=E,this.type=4218914973}};t.IfcWorkSchedule=class extends ol{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.PredefinedType=E,this.type=3342526732}};t.IfcZone=class extends al{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.type=1033361043}};t.IfcActionRequest=class extends bc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=3821786052}};t.IfcAirTerminalBoxType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};t.IfcAirTerminalType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};t.IfcAirToAirHeatRecoveryType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};t.IfcAsset=class extends Zc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.OriginalValue=a,this.CurrentValue=o,this.TotalReplacementCost=h,this.Owner=c,this.User=l,this.ResponsiblePerson=p,this.IncorporationDate=u,this.DepreciatedValue=E,this.type=3460190687}};t.IfcAudioVisualApplianceType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1532957894}};class hl extends mc{constructor(t,e,s,i,r){super(),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.type=1967976161}}t.IfcBSplineCurve=hl;class cl extends hl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=o,this.type=2461110595}}t.IfcBSplineCurveWithKnots=cl;t.IfcBeamType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};t.IfcBoilerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class ll extends Cc{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=1136057603}}t.IfcBoundaryCurve=ll;class pl extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3299480353}}t.IfcBuildingElement=pl;t.IfcBuildingElementPart=class extends _c{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2979338954}};t.IfcBuildingElementPartType=class extends Mc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=39481116}};t.IfcBuildingElementProxy=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1095909175}};t.IfcBuildingElementProxyType=class extends Ac{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};t.IfcBuildingSystem=class extends al{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.LongName=a,this.type=1177604601}};t.IfcBurnerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2188180465}};t.IfcCableCarrierFittingType=class extends Wc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};t.IfcCableCarrierSegmentType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};t.IfcCableFittingType=class extends Wc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2674252688}};t.IfcCableSegmentType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};t.IfcChillerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};t.IfcChimney=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3296154744}};t.IfcCircle=class extends vc{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=2611217952}};t.IfcCivilElement=class extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1677625105}};t.IfcCoilType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};class ul extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=843113511}}t.IfcColumn=ul;t.IfcColumnStandardCase=class extends ul{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=905975707}};t.IfcCommunicationsApplianceType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=400855858}};t.IfcCompressorType=class extends jc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};t.IfcCondenserType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};t.IfcConstructionEquipmentResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3898045240}};t.IfcConstructionMaterialResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=1060000209}};t.IfcConstructionProductResource=class extends Lc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=488727124}};t.IfcCooledBeamType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};t.IfcCoolingTowerType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};t.IfcCovering=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1973544240}};t.IfcCurtainWall=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3495092785}};t.IfcDamperType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};t.IfcDiscreteAccessory=class extends _c{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1335981549}};t.IfcDiscreteAccessoryType=class extends Mc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2635815018}};t.IfcDistributionChamberElementType=class extends gc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class El extends Pc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2063403501}}t.IfcDistributionControlElementType=El;class Il extends xc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1945004755}}t.IfcDistributionElement=Il;class yl extends Il{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3040386961}}t.IfcDistributionFlowElement=yl;t.IfcDistributionPort=class extends Qc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=o,this.PredefinedType=h,this.SystemType=c,this.type=3041715199}};class Tl extends al{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.PredefinedType=a,this.type=3205830791}}t.IfcDistributionSystem=Tl;class dl extends pl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.OperationType=p,this.UserDefinedOperationType=u,this.type=395920057}}t.IfcDoor=dl;t.IfcDoorStandardCase=class extends dl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.OperationType=p,this.UserDefinedOperationType=u,this.type=3242481149}};t.IfcDuctFittingType=class extends Wc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};t.IfcDuctSegmentType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};t.IfcDuctSilencerType=class extends Xc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};t.IfcElectricApplianceType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};t.IfcElectricDistributionBoardType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2417008758}};t.IfcElectricFlowStorageDeviceType=class extends zc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};t.IfcElectricGeneratorType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};t.IfcElectricMotorType=class extends Fc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};t.IfcElectricTimeControlType=class extends Vc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};class Nl extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1658829314}}t.IfcEnergyConversionDevice=Nl;t.IfcEngine=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2814081492}};t.IfcEvaporativeCooler=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3747195512}};t.IfcEvaporator=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=484807127}};t.IfcExternalSpatialElement=class extends Uc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.PredefinedType=h,this.type=1209101575}};t.IfcFanType=class extends jc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};t.IfcFilterType=class extends Xc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};t.IfcFireSuppressionTerminalType=class extends kc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class Rl extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2058353004}}t.IfcFlowController=Rl;class fl extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=4278956645}}t.IfcFlowFitting=fl;t.IfcFlowInstrumentType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};t.IfcFlowMeter=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2188021234}};class Ol extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3132237377}}t.IfcFlowMovingDevice=Ol;class Dl extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=987401354}}t.IfcFlowSegment=Dl;class ml extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=707683696}}t.IfcFlowStorageDevice=ml;class Al extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2223149337}}t.IfcFlowTerminal=Al;class Sl extends yl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3508470533}}t.IfcFlowTreatmentDevice=Sl;t.IfcFooting=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=900683007}};t.IfcHeatExchanger=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3319311131}};t.IfcHumidifier=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2068733104}};t.IfcInterceptor=class extends Sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4175244083}};t.IfcJunctionBox=class extends fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2176052936}};t.IfcLamp=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=76236018}};t.IfcLightFixture=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=629592764}};t.IfcMedicalDevice=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1437502449}};class Cl extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1073191201}}t.IfcMember=Cl;t.IfcMemberStandardCase=class extends Cl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1911478936}};t.IfcMotorConnection=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2474470126}};t.IfcOuterBoundaryCurve=class extends ll{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=144952367}};t.IfcOutlet=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3694346114}};t.IfcPile=class extends pl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};t.IfcPipeFitting=class extends fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=310824031}};t.IfcPipeSegment=class extends Dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3612865200}};class vl extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3171933400}}t.IfcPlate=vl;t.IfcPlateStandardCase=class extends vl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1156407060}};t.IfcProtectiveDevice=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=738039164}};t.IfcProtectiveDeviceTrippingUnitType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=655969474}};t.IfcPump=class extends Ol{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=90941305}};t.IfcRailing=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2262370178}};t.IfcRamp=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3024970846}};t.IfcRampFlight=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3283111854}};t.IfcRationalBSplineCurveWithKnots=class extends cl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=o,this.WeightsData=h,this.type=1232101972}};t.IfcReinforcingBar=class extends Jc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=l,this.BarLength=p,this.PredefinedType=u,this.BarSurface=E,this.type=979691226}};t.IfcReinforcingBarType=class extends $c{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.BarLength=u,this.BarSurface=E,this.BendingShapeCode=I,this.BendingParameters=y,this.type=2572171363}};t.IfcRoof=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2016517767}};t.IfcSanitaryTerminal=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3053780830}};t.IfcSensorType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};t.IfcShadingDevice=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1329646415}};class Ll extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1529196076}}t.IfcSlab=Ll;t.IfcSlabElementedCase=class extends Ll{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3127900445}};t.IfcSlabStandardCase=class extends Ll{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3027962421}};t.IfcSolarDevice=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3420628829}};t.IfcSpaceHeater=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1999602285}};t.IfcStackTerminal=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1404847402}};t.IfcStair=class extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=331165859}};t.IfcStairFlight=class extends pl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NumberOfRisers=h,this.NumberOfTreads=c,this.RiserHeight=l,this.TreadLength=p,this.PredefinedType=u,this.type=4252922144}};t.IfcStructuralAnalysisModel=class extends al{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=o,this.HasResults=h,this.SharedPlacement=c,this.type=2515109513}};t.IfcStructuralLoadCase=class extends rl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.ActionType=a,this.ActionSource=o,this.Coefficient=h,this.Purpose=c,this.SelfWeightCoefficients=l,this.type=385403989}};t.IfcStructuralPlanarAction=class extends nl{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1621171031}};t.IfcSwitchingDevice=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1162798199}};t.IfcTank=class extends ml{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=812556717}};t.IfcTransformer=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3825984169}};t.IfcTubeBundle=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3026737570}};t.IfcUnitaryControlElementType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3179687236}};t.IfcUnitaryEquipment=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4292641817}};t.IfcValve=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4207607924}};class bl extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2391406946}}t.IfcWall=bl;t.IfcWallElementedCase=class extends bl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4156078855}};t.IfcWallStandardCase=class extends bl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3512223829}};t.IfcWasteTerminal=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4237592921}};class Pl extends pl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.PartitioningType=p,this.UserDefinedPartitioningType=u,this.type=3304561284}}t.IfcWindow=Pl;t.IfcWindowStandardCase=class extends Pl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.PartitioningType=p,this.UserDefinedPartitioningType=u,this.type=486154966}};t.IfcActuatorType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};t.IfcAirTerminal=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1634111441}};t.IfcAirTerminalBox=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=177149247}};t.IfcAirToAirHeatRecovery=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2056796094}};t.IfcAlarmType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};t.IfcAudioVisualAppliance=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=277319702}};class gl extends pl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=753842376}}t.IfcBeam=gl;t.IfcBeamStandardCase=class extends gl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2906023776}};t.IfcBoiler=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=32344328}};t.IfcBurner=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2938176219}};t.IfcCableCarrierFitting=class extends fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=635142910}};t.IfcCableCarrierSegment=class extends Dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3758799889}};t.IfcCableFitting=class extends fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1051757585}};t.IfcCableSegment=class extends Dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4217484030}};t.IfcChiller=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3902619387}};t.IfcCoil=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=639361253}};t.IfcCommunicationsAppliance=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3221913625}};t.IfcCompressor=class extends Ol{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3571504051}};t.IfcCondenser=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2272882330}};t.IfcControllerType=class extends El{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};t.IfcCooledBeam=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4136498852}};t.IfcCoolingTower=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3640358203}};t.IfcDamper=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4074379575}};t.IfcDistributionChamberElement=class extends yl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1052013943}};t.IfcDistributionCircuit=class extends Tl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.PredefinedType=a,this.type=562808652}};class xl extends Il{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1062813311}}t.IfcDistributionControlElement=xl;t.IfcDuctFitting=class extends fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=342316401}};t.IfcDuctSegment=class extends Dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3518393246}};t.IfcDuctSilencer=class extends Sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1360408905}};t.IfcElectricAppliance=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1904799276}};t.IfcElectricDistributionBoard=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=862014818}};t.IfcElectricFlowStorageDevice=class extends ml{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3310460725}};t.IfcElectricGenerator=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=264262732}};t.IfcElectricMotor=class extends Nl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=402227799}};t.IfcElectricTimeControl=class extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1003880860}};t.IfcFan=class extends Ol{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3415622556}};t.IfcFilter=class extends Sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=819412036}};t.IfcFireSuppressionTerminal=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1426591983}};t.IfcFlowInstrument=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=182646315}};t.IfcProtectiveDeviceTrippingUnit=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2295281155}};t.IfcSensor=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4086658281}};t.IfcUnitaryControlElement=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=630975310}};t.IfcActuator=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4288193352}};t.IfcAlarm=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3087945054}};t.IfcController=class extends xl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=25142252}}})(Mu||(Mu={})),Hu[2]={3699917729:t=>new Fu.IfcAbsorbedDoseMeasure(t),4182062534:t=>new Fu.IfcAccelerationMeasure(t),360377573:t=>new Fu.IfcAmountOfSubstanceMeasure(t),632304761:t=>new Fu.IfcAngularVelocityMeasure(t),3683503648:t=>new Fu.IfcArcIndex(t.map((t=>t.value))),1500781891:t=>new Fu.IfcAreaDensityMeasure(t),2650437152:t=>new Fu.IfcAreaMeasure(t),2314439260:t=>new Fu.IfcBinary(t),2735952531:t=>new Fu.IfcBoolean(t),1867003952:t=>new Fu.IfcBoxAlignment(t),1683019596:t=>new Fu.IfcCardinalPointReference(t),2991860651:t=>new Fu.IfcComplexNumber(t.map((t=>t.value))),3812528620:t=>new Fu.IfcCompoundPlaneAngleMeasure(t.map((t=>t.value))),3238673880:t=>new Fu.IfcContextDependentMeasure(t),1778710042:t=>new Fu.IfcCountMeasure(t),94842927:t=>new Fu.IfcCurvatureMeasure(t),937566702:t=>new Fu.IfcDate(t),2195413836:t=>new Fu.IfcDateTime(t),86635668:t=>new Fu.IfcDayInMonthNumber(t),3701338814:t=>new Fu.IfcDayInWeekNumber(t),1514641115:t=>new Fu.IfcDescriptiveMeasure(t),4134073009:t=>new Fu.IfcDimensionCount(t),524656162:t=>new Fu.IfcDoseEquivalentMeasure(t),2541165894:t=>new Fu.IfcDuration(t),69416015:t=>new Fu.IfcDynamicViscosityMeasure(t),1827137117:t=>new Fu.IfcElectricCapacitanceMeasure(t),3818826038:t=>new Fu.IfcElectricChargeMeasure(t),2093906313:t=>new Fu.IfcElectricConductanceMeasure(t),3790457270:t=>new Fu.IfcElectricCurrentMeasure(t),2951915441:t=>new Fu.IfcElectricResistanceMeasure(t),2506197118:t=>new Fu.IfcElectricVoltageMeasure(t),2078135608:t=>new Fu.IfcEnergyMeasure(t),1102727119:t=>new Fu.IfcFontStyle(t),2715512545:t=>new Fu.IfcFontVariant(t),2590844177:t=>new Fu.IfcFontWeight(t),1361398929:t=>new Fu.IfcForceMeasure(t),3044325142:t=>new Fu.IfcFrequencyMeasure(t),3064340077:t=>new Fu.IfcGloballyUniqueId(t),3113092358:t=>new Fu.IfcHeatFluxDensityMeasure(t),1158859006:t=>new Fu.IfcHeatingValueMeasure(t),983778844:t=>new Fu.IfcIdentifier(t),3358199106:t=>new Fu.IfcIlluminanceMeasure(t),2679005408:t=>new Fu.IfcInductanceMeasure(t),1939436016:t=>new Fu.IfcInteger(t),3809634241:t=>new Fu.IfcIntegerCountRateMeasure(t),3686016028:t=>new Fu.IfcIonConcentrationMeasure(t),3192672207:t=>new Fu.IfcIsothermalMoistureCapacityMeasure(t),2054016361:t=>new Fu.IfcKinematicViscosityMeasure(t),3258342251:t=>new Fu.IfcLabel(t),1275358634:t=>new Fu.IfcLanguageId(t),1243674935:t=>new Fu.IfcLengthMeasure(t),1774176899:t=>new Fu.IfcLineIndex(t.map((t=>t.value))),191860431:t=>new Fu.IfcLinearForceMeasure(t),2128979029:t=>new Fu.IfcLinearMomentMeasure(t),1307019551:t=>new Fu.IfcLinearStiffnessMeasure(t),3086160713:t=>new Fu.IfcLinearVelocityMeasure(t),503418787:t=>new Fu.IfcLogical(t),2095003142:t=>new Fu.IfcLuminousFluxMeasure(t),2755797622:t=>new Fu.IfcLuminousIntensityDistributionMeasure(t),151039812:t=>new Fu.IfcLuminousIntensityMeasure(t),286949696:t=>new Fu.IfcMagneticFluxDensityMeasure(t),2486716878:t=>new Fu.IfcMagneticFluxMeasure(t),1477762836:t=>new Fu.IfcMassDensityMeasure(t),4017473158:t=>new Fu.IfcMassFlowRateMeasure(t),3124614049:t=>new Fu.IfcMassMeasure(t),3531705166:t=>new Fu.IfcMassPerLengthMeasure(t),3341486342:t=>new Fu.IfcModulusOfElasticityMeasure(t),2173214787:t=>new Fu.IfcModulusOfLinearSubgradeReactionMeasure(t),1052454078:t=>new Fu.IfcModulusOfRotationalSubgradeReactionMeasure(t),1753493141:t=>new Fu.IfcModulusOfSubgradeReactionMeasure(t),3177669450:t=>new Fu.IfcMoistureDiffusivityMeasure(t),1648970520:t=>new Fu.IfcMolecularWeightMeasure(t),3114022597:t=>new Fu.IfcMomentOfInertiaMeasure(t),2615040989:t=>new Fu.IfcMonetaryMeasure(t),765770214:t=>new Fu.IfcMonthInYearNumber(t),525895558:t=>new Fu.IfcNonNegativeLengthMeasure(t),2095195183:t=>new Fu.IfcNormalisedRatioMeasure(t),2395907400:t=>new Fu.IfcNumericMeasure(t),929793134:t=>new Fu.IfcPHMeasure(t),2260317790:t=>new Fu.IfcParameterValue(t),2642773653:t=>new Fu.IfcPlanarForceMeasure(t),4042175685:t=>new Fu.IfcPlaneAngleMeasure(t),1790229001:t=>new Fu.IfcPositiveInteger(t),2815919920:t=>new Fu.IfcPositiveLengthMeasure(t),3054510233:t=>new Fu.IfcPositivePlaneAngleMeasure(t),1245737093:t=>new Fu.IfcPositiveRatioMeasure(t),1364037233:t=>new Fu.IfcPowerMeasure(t),2169031380:t=>new Fu.IfcPresentableText(t),3665567075:t=>new Fu.IfcPressureMeasure(t),2798247006:t=>new Fu.IfcPropertySetDefinitionSet(t.map((t=>t.value))),3972513137:t=>new Fu.IfcRadioActivityMeasure(t),96294661:t=>new Fu.IfcRatioMeasure(t),200335297:t=>new Fu.IfcReal(t),2133746277:t=>new Fu.IfcRotationalFrequencyMeasure(t),1755127002:t=>new Fu.IfcRotationalMassMeasure(t),3211557302:t=>new Fu.IfcRotationalStiffnessMeasure(t),3467162246:t=>new Fu.IfcSectionModulusMeasure(t),2190458107:t=>new Fu.IfcSectionalAreaIntegralMeasure(t),408310005:t=>new Fu.IfcShearModulusMeasure(t),3471399674:t=>new Fu.IfcSolidAngleMeasure(t),4157543285:t=>new Fu.IfcSoundPowerLevelMeasure(t),846465480:t=>new Fu.IfcSoundPowerMeasure(t),3457685358:t=>new Fu.IfcSoundPressureLevelMeasure(t),993287707:t=>new Fu.IfcSoundPressureMeasure(t),3477203348:t=>new Fu.IfcSpecificHeatCapacityMeasure(t),2757832317:t=>new Fu.IfcSpecularExponent(t),361837227:t=>new Fu.IfcSpecularRoughness(t),1805707277:t=>new Fu.IfcStrippedOptional(t),58845555:t=>new Fu.IfcTemperatureGradientMeasure(t),1209108979:t=>new Fu.IfcTemperatureRateOfChangeMeasure(t),2801250643:t=>new Fu.IfcText(t),1460886941:t=>new Fu.IfcTextAlignment(t),3490877962:t=>new Fu.IfcTextDecoration(t),603696268:t=>new Fu.IfcTextFontName(t),296282323:t=>new Fu.IfcTextTransformation(t),232962298:t=>new Fu.IfcThermalAdmittanceMeasure(t),2645777649:t=>new Fu.IfcThermalConductivityMeasure(t),2281867870:t=>new Fu.IfcThermalExpansionCoefficientMeasure(t),857959152:t=>new Fu.IfcThermalResistanceMeasure(t),2016195849:t=>new Fu.IfcThermalTransmittanceMeasure(t),743184107:t=>new Fu.IfcThermodynamicTemperatureMeasure(t),4075327185:t=>new Fu.IfcTime(t),2726807636:t=>new Fu.IfcTimeMeasure(t),2591213694:t=>new Fu.IfcTimeStamp(t),1278329552:t=>new Fu.IfcTorqueMeasure(t),950732822:t=>new Fu.IfcURIReference(t),3345633955:t=>new Fu.IfcVaporPermeabilityMeasure(t),3458127941:t=>new Fu.IfcVolumeMeasure(t),2593997549:t=>new Fu.IfcVolumetricFlowRateMeasure(t),51269191:t=>new Fu.IfcWarpingConstantMeasure(t),1718600412:t=>new Fu.IfcWarpingMomentMeasure(t),2149462589:t=>new Fu.IfcWellKnownTextLiteral(t)},(t=>{t.IfcAbsorbedDoseMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCABSORBEDDOSEMEASURE"}};t.IfcAccelerationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCACCELERATIONMEASURE"}};t.IfcAmountOfSubstanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAMOUNTOFSUBSTANCEMEASURE"}};t.IfcAngularVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCANGULARVELOCITYMEASURE"}};t.IfcArcIndex=class{constructor(t){this.value=t,this.type=5}};t.IfcAreaDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAREADENSITYMEASURE"}};t.IfcAreaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCAREAMEASURE"}};t.IfcBinary=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCBINARY"}};t.IfcBoolean=class{constructor(t){this.type=3,this.name="IFCBOOLEAN",this.value=t}};t.IfcBoxAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCBOXALIGNMENT"}};t.IfcCardinalPointReference=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCCARDINALPOINTREFERENCE"}};t.IfcComplexNumber=class{constructor(t){this.value=t,this.type=4}};t.IfcCompoundPlaneAngleMeasure=class{constructor(t){this.value=t,this.type=10}};t.IfcContextDependentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCONTEXTDEPENDENTMEASURE"}};t.IfcCountMeasure=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCCOUNTMEASURE"}};t.IfcCurvatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCCURVATUREMEASURE"}};t.IfcDate=class{constructor(t){this.value=t,this.type=1,this.name="IFCDATE"}};t.IfcDateTime=class{constructor(t){this.value=t,this.type=1,this.name="IFCDATETIME"}};t.IfcDayInMonthNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINMONTHNUMBER"}};t.IfcDayInWeekNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINWEEKNUMBER"}};t.IfcDescriptiveMeasure=class{constructor(t){this.value=t,this.type=1,this.name="IFCDESCRIPTIVEMEASURE"}};class e extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCDIMENSIONCOUNT"}}t.IfcDimensionCount=e;t.IfcDoseEquivalentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDOSEEQUIVALENTMEASURE"}};t.IfcDuration=class{constructor(t){this.value=t,this.type=1,this.name="IFCDURATION"}};t.IfcDynamicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCDYNAMICVISCOSITYMEASURE"}};t.IfcElectricCapacitanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCAPACITANCEMEASURE"}};t.IfcElectricChargeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCHARGEMEASURE"}};t.IfcElectricConductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCONDUCTANCEMEASURE"}};t.IfcElectricCurrentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCURRENTMEASURE"}};t.IfcElectricResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICRESISTANCEMEASURE"}};t.IfcElectricVoltageMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICVOLTAGEMEASURE"}};t.IfcEnergyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCENERGYMEASURE"}};t.IfcFontStyle=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTSTYLE"}};t.IfcFontVariant=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTVARIANT"}};t.IfcFontWeight=class{constructor(t){this.value=t,this.type=1,this.name="IFCFONTWEIGHT"}};t.IfcForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFORCEMEASURE"}};t.IfcFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCFREQUENCYMEASURE"}};t.IfcGloballyUniqueId=class{constructor(t){this.value=t,this.type=1,this.name="IFCGLOBALLYUNIQUEID"}};t.IfcHeatFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATFLUXDENSITYMEASURE"}};t.IfcHeatingValueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCHEATINGVALUEMEASURE"}};t.IfcIdentifier=class{constructor(t){this.value=t,this.type=1,this.name="IFCIDENTIFIER"}};t.IfcIlluminanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCILLUMINANCEMEASURE"}};t.IfcInductanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCINDUCTANCEMEASURE"}};t.IfcInteger=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGER"}};t.IfcIntegerCountRateMeasure=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGERCOUNTRATEMEASURE"}};t.IfcIonConcentrationMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCIONCONCENTRATIONMEASURE"}};t.IfcIsothermalMoistureCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCISOTHERMALMOISTURECAPACITYMEASURE"}};t.IfcKinematicViscosityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCKINEMATICVISCOSITYMEASURE"}};t.IfcLabel=class{constructor(t){this.value=t,this.type=1,this.name="IFCLABEL"}};t.IfcLanguageId=class{constructor(t){this.value=t,this.type=1,this.name="IFCLANGUAGEID"}};t.IfcLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLENGTHMEASURE"}};t.IfcLineIndex=class{constructor(t){this.value=t,this.type=5}};t.IfcLinearForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARFORCEMEASURE"}};t.IfcLinearMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARMOMENTMEASURE"}};t.IfcLinearStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARSTIFFNESSMEASURE"}};t.IfcLinearVelocityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARVELOCITYMEASURE"}};t.IfcLogical=class{constructor(t){this.type=3,this.name="IFCLOGICAL",this.value=t}};t.IfcLuminousFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSFLUXMEASURE"}};t.IfcLuminousIntensityDistributionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE"}};t.IfcLuminousIntensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYMEASURE"}};t.IfcMagneticFluxDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXDENSITYMEASURE"}};t.IfcMagneticFluxMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXMEASURE"}};t.IfcMassDensityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSDENSITYMEASURE"}};t.IfcMassFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSFLOWRATEMEASURE"}};t.IfcMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSMEASURE"}};t.IfcMassPerLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMASSPERLENGTHMEASURE"}};t.IfcModulusOfElasticityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFELASTICITYMEASURE"}};t.IfcModulusOfLinearSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfRotationalSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE"}};t.IfcModulusOfSubgradeReactionMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFSUBGRADEREACTIONMEASURE"}};t.IfcMoistureDiffusivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOISTUREDIFFUSIVITYMEASURE"}};t.IfcMolecularWeightMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOLECULARWEIGHTMEASURE"}};t.IfcMomentOfInertiaMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMOMENTOFINERTIAMEASURE"}};t.IfcMonetaryMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCMONETARYMEASURE"}};t.IfcMonthInYearNumber=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCMONTHINYEARNUMBER"}};t.IfcNonNegativeLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNONNEGATIVELENGTHMEASURE"}};t.IfcNormalisedRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNORMALISEDRATIOMEASURE"}};t.IfcNumericMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCNUMERICMEASURE"}};t.IfcPHMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPHMEASURE"}};t.IfcParameterValue=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPARAMETERVALUE"}};t.IfcPlanarForceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANARFORCEMEASURE"}};t.IfcPlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPLANEANGLEMEASURE"}};t.IfcPositiveInteger=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCPOSITIVEINTEGER"}};t.IfcPositiveLengthMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVELENGTHMEASURE"}};t.IfcPositivePlaneAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVEPLANEANGLEMEASURE"}};t.IfcPositiveRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVERATIOMEASURE"}};t.IfcPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPOWERMEASURE"}};t.IfcPresentableText=class{constructor(t){this.value=t,this.type=1,this.name="IFCPRESENTABLETEXT"}};t.IfcPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCPRESSUREMEASURE"}};t.IfcPropertySetDefinitionSet=class{constructor(t){this.value=t,this.type=5}};t.IfcRadioActivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRADIOACTIVITYMEASURE"}};t.IfcRatioMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCRATIOMEASURE"}};t.IfcReal=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCREAL"}};t.IfcRotationalFrequencyMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALFREQUENCYMEASURE"}};t.IfcRotationalMassMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALMASSMEASURE"}};t.IfcRotationalStiffnessMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALSTIFFNESSMEASURE"}};t.IfcSectionModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONMODULUSMEASURE"}};t.IfcSectionalAreaIntegralMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONALAREAINTEGRALMEASURE"}};t.IfcShearModulusMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSHEARMODULUSMEASURE"}};t.IfcSolidAngleMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOLIDANGLEMEASURE"}};t.IfcSoundPowerLevelMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERLEVELMEASURE"}};t.IfcSoundPowerMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERMEASURE"}};t.IfcSoundPressureLevelMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSURELEVELMEASURE"}};t.IfcSoundPressureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSUREMEASURE"}};t.IfcSpecificHeatCapacityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECIFICHEATCAPACITYMEASURE"}};t.IfcSpecularExponent=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULAREXPONENT"}};t.IfcSpecularRoughness=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULARROUGHNESS"}};t.IfcStrippedOptional=class{constructor(t){this.type=3,this.name="IFCSTRIPPEDOPTIONAL",this.value=t}};t.IfcTemperatureGradientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATUREGRADIENTMEASURE"}};t.IfcTemperatureRateOfChangeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATURERATEOFCHANGEMEASURE"}};t.IfcText=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXT"}};t.IfcTextAlignment=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTALIGNMENT"}};t.IfcTextDecoration=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTDECORATION"}};t.IfcTextFontName=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTFONTNAME"}};t.IfcTextTransformation=class{constructor(t){this.value=t,this.type=1,this.name="IFCTEXTTRANSFORMATION"}};t.IfcThermalAdmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALADMITTANCEMEASURE"}};t.IfcThermalConductivityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALCONDUCTIVITYMEASURE"}};t.IfcThermalExpansionCoefficientMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALEXPANSIONCOEFFICIENTMEASURE"}};t.IfcThermalResistanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALRESISTANCEMEASURE"}};t.IfcThermalTransmittanceMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALTRANSMITTANCEMEASURE"}};t.IfcThermodynamicTemperatureMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMODYNAMICTEMPERATUREMEASURE"}};t.IfcTime=class{constructor(t){this.value=t,this.type=1,this.name="IFCTIME"}};t.IfcTimeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTIMEMEASURE"}};t.IfcTimeStamp=class extends wu{constructor(){super(...arguments),this.type=10,this.name="IFCTIMESTAMP"}};t.IfcTorqueMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCTORQUEMEASURE"}};t.IfcURIReference=class{constructor(t){this.value=t,this.type=1,this.name="IFCURIREFERENCE"}};t.IfcVaporPermeabilityMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVAPORPERMEABILITYMEASURE"}};t.IfcVolumeMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMEMEASURE"}};t.IfcVolumetricFlowRateMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMETRICFLOWRATEMEASURE"}};t.IfcWarpingConstantMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGCONSTANTMEASURE"}};t.IfcWarpingMomentMeasure=class extends wu{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGMOMENTMEASURE"}};t.IfcWellKnownTextLiteral=class{constructor(t){this.value=t,this.type=1,this.name="IFCWELLKNOWNTEXTLITERAL"}};const s=class{};s.EMAIL={type:3,value:"EMAIL"},s.FAX={type:3,value:"FAX"},s.PHONE={type:3,value:"PHONE"},s.POST={type:3,value:"POST"},s.VERBAL={type:3,value:"VERBAL"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"};let i=s;t.IfcActionRequestTypeEnum=i;const r=class{};r.BRAKES={type:3,value:"BRAKES"},r.BUOYANCY={type:3,value:"BUOYANCY"},r.COMPLETION_G1={type:3,value:"COMPLETION_G1"},r.CREEP={type:3,value:"CREEP"},r.CURRENT={type:3,value:"CURRENT"},r.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},r.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},r.ERECTION={type:3,value:"ERECTION"},r.FIRE={type:3,value:"FIRE"},r.ICE={type:3,value:"ICE"},r.IMPACT={type:3,value:"IMPACT"},r.IMPULSE={type:3,value:"IMPULSE"},r.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},r.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},r.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},r.PROPPING={type:3,value:"PROPPING"},r.RAIN={type:3,value:"RAIN"},r.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},r.SHRINKAGE={type:3,value:"SHRINKAGE"},r.SNOW_S={type:3,value:"SNOW_S"},r.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},r.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},r.TRANSPORT={type:3,value:"TRANSPORT"},r.WAVE={type:3,value:"WAVE"},r.WIND_W={type:3,value:"WIND_W"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"};let n=r;t.IfcActionSourceTypeEnum=n;const a=class{};a.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},a.PERMANENT_G={type:3,value:"PERMANENT_G"},a.VARIABLE_Q={type:3,value:"VARIABLE_Q"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"};let o=a;t.IfcActionTypeEnum=o;const h=class{};h.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},h.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},h.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},h.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},h.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"};let c=h;t.IfcActuatorTypeEnum=c;const l=class{};l.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},l.HOME={type:3,value:"HOME"},l.OFFICE={type:3,value:"OFFICE"},l.SITE={type:3,value:"SITE"},l.USERDEFINED={type:3,value:"USERDEFINED"};let p=l;t.IfcAddressTypeEnum=p;const u=class{};u.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},u.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},u.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"};let E=u;t.IfcAirTerminalBoxTypeEnum=E;const I=class{};I.DIFFUSER={type:3,value:"DIFFUSER"},I.GRILLE={type:3,value:"GRILLE"},I.LOUVRE={type:3,value:"LOUVRE"},I.REGISTER={type:3,value:"REGISTER"},I.USERDEFINED={type:3,value:"USERDEFINED"},I.NOTDEFINED={type:3,value:"NOTDEFINED"};let y=I;t.IfcAirTerminalTypeEnum=y;const T=class{};T.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},T.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},T.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},T.HEATPIPE={type:3,value:"HEATPIPE"},T.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},T.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},T.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},T.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},T.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"};let d=T;t.IfcAirToAirHeatRecoveryTypeEnum=d;const N=class{};N.BELL={type:3,value:"BELL"},N.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},N.LIGHT={type:3,value:"LIGHT"},N.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},N.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"},N.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"},N.SIREN={type:3,value:"SIREN"},N.WHISTLE={type:3,value:"WHISTLE"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"};let R=N;t.IfcAlarmTypeEnum=R;const f=class{};f.BLOSSCURVE={type:3,value:"BLOSSCURVE"},f.CONSTANTCANT={type:3,value:"CONSTANTCANT"},f.COSINECURVE={type:3,value:"COSINECURVE"},f.HELMERTCURVE={type:3,value:"HELMERTCURVE"},f.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"},f.SINECURVE={type:3,value:"SINECURVE"},f.VIENNESEBEND={type:3,value:"VIENNESEBEND"};let O=f;t.IfcAlignmentCantSegmentTypeEnum=O;const D=class{};D.BLOSSCURVE={type:3,value:"BLOSSCURVE"},D.CIRCULARARC={type:3,value:"CIRCULARARC"},D.CLOTHOID={type:3,value:"CLOTHOID"},D.COSINECURVE={type:3,value:"COSINECURVE"},D.CUBIC={type:3,value:"CUBIC"},D.HELMERTCURVE={type:3,value:"HELMERTCURVE"},D.LINE={type:3,value:"LINE"},D.SINECURVE={type:3,value:"SINECURVE"},D.VIENNESEBEND={type:3,value:"VIENNESEBEND"};let m=D;t.IfcAlignmentHorizontalSegmentTypeEnum=m;const A=class{};A.USERDEFINED={type:3,value:"USERDEFINED"},A.NOTDEFINED={type:3,value:"NOTDEFINED"};let S=A;t.IfcAlignmentTypeEnum=S;const C=class{};C.CIRCULARARC={type:3,value:"CIRCULARARC"},C.CLOTHOID={type:3,value:"CLOTHOID"},C.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"},C.PARABOLICARC={type:3,value:"PARABOLICARC"};let v=C;t.IfcAlignmentVerticalSegmentTypeEnum=v;const L=class{};L.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},L.LOADING_3D={type:3,value:"LOADING_3D"},L.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"};let b=L;t.IfcAnalysisModelTypeEnum=b;const P=class{};P.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},P.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},P.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},P.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"};let g=P;t.IfcAnalysisTheoryTypeEnum=g;const x=class{};x.CONTOURLINE={type:3,value:"CONTOURLINE"},x.DIMENSION={type:3,value:"DIMENSION"},x.ISOBAR={type:3,value:"ISOBAR"},x.ISOLUX={type:3,value:"ISOLUX"},x.ISOTHERM={type:3,value:"ISOTHERM"},x.LEADER={type:3,value:"LEADER"},x.SURVEY={type:3,value:"SURVEY"},x.SYMBOL={type:3,value:"SYMBOL"},x.TEXT={type:3,value:"TEXT"},x.USERDEFINED={type:3,value:"USERDEFINED"},x.NOTDEFINED={type:3,value:"NOTDEFINED"};let _=x;t.IfcAnnotationTypeEnum=_;const M=class{};M.ADD={type:3,value:"ADD"},M.DIVIDE={type:3,value:"DIVIDE"},M.MODULO={type:3,value:"MODULO"},M.MULTIPLY={type:3,value:"MULTIPLY"},M.SUBTRACT={type:3,value:"SUBTRACT"};let F=M;t.IfcArithmeticOperatorEnum=F;const U=class{};U.FACTORY={type:3,value:"FACTORY"},U.SITE={type:3,value:"SITE"},U.NOTDEFINED={type:3,value:"NOTDEFINED"};let w=U;t.IfcAssemblyPlaceEnum=w;const G=class{};G.AMPLIFIER={type:3,value:"AMPLIFIER"},G.CAMERA={type:3,value:"CAMERA"},G.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"},G.DISPLAY={type:3,value:"DISPLAY"},G.MICROPHONE={type:3,value:"MICROPHONE"},G.PLAYER={type:3,value:"PLAYER"},G.PROJECTOR={type:3,value:"PROJECTOR"},G.RECEIVER={type:3,value:"RECEIVER"},G.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"},G.SPEAKER={type:3,value:"SPEAKER"},G.SWITCHER={type:3,value:"SWITCHER"},G.TELEPHONE={type:3,value:"TELEPHONE"},G.TUNER={type:3,value:"TUNER"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"};let H=G;t.IfcAudioVisualApplianceTypeEnum=H;const B=class{};B.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},B.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},B.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},B.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},B.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},B.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let V=B;t.IfcBSplineCurveForm=V;const W=class{};W.CONICAL_SURF={type:3,value:"CONICAL_SURF"},W.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},W.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},W.PLANE_SURF={type:3,value:"PLANE_SURF"},W.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},W.RULED_SURF={type:3,value:"RULED_SURF"},W.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},W.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},W.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},W.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},W.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let j=W;t.IfcBSplineSurfaceForm=j;const Y=class{};Y.BEAM={type:3,value:"BEAM"},Y.CORNICE={type:3,value:"CORNICE"},Y.DIAPHRAGM={type:3,value:"DIAPHRAGM"},Y.EDGEBEAM={type:3,value:"EDGEBEAM"},Y.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"},Y.HATSTONE={type:3,value:"HATSTONE"},Y.HOLLOWCORE={type:3,value:"HOLLOWCORE"},Y.JOIST={type:3,value:"JOIST"},Y.LINTEL={type:3,value:"LINTEL"},Y.PIERCAP={type:3,value:"PIERCAP"},Y.SPANDREL={type:3,value:"SPANDREL"},Y.T_BEAM={type:3,value:"T_BEAM"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"};let z=Y;t.IfcBeamTypeEnum=z;const k=class{};k.CYLINDRICAL={type:3,value:"CYLINDRICAL"},k.DISK={type:3,value:"DISK"},k.ELASTOMERIC={type:3,value:"ELASTOMERIC"},k.GUIDE={type:3,value:"GUIDE"},k.POT={type:3,value:"POT"},k.ROCKER={type:3,value:"ROCKER"},k.ROLLER={type:3,value:"ROLLER"},k.SPHERICAL={type:3,value:"SPHERICAL"},k.USERDEFINED={type:3,value:"USERDEFINED"},k.NOTDEFINED={type:3,value:"NOTDEFINED"};let X=k;t.IfcBearingTypeEnum=X;const K=class{};K.EQUALTO={type:3,value:"EQUALTO"},K.GREATERTHAN={type:3,value:"GREATERTHAN"},K.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},K.INCLUDEDIN={type:3,value:"INCLUDEDIN"},K.INCLUDES={type:3,value:"INCLUDES"},K.LESSTHAN={type:3,value:"LESSTHAN"},K.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},K.NOTEQUALTO={type:3,value:"NOTEQUALTO"},K.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},K.NOTINCLUDES={type:3,value:"NOTINCLUDES"};let Z=K;t.IfcBenchmarkEnum=Z;const q=class{};q.STEAM={type:3,value:"STEAM"},q.WATER={type:3,value:"WATER"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"};let Q=q;t.IfcBoilerTypeEnum=Q;const J=class{};J.DIFFERENCE={type:3,value:"DIFFERENCE"},J.INTERSECTION={type:3,value:"INTERSECTION"},J.UNION={type:3,value:"UNION"};let $=J;t.IfcBooleanOperator=$;const tt=class{};tt.ABUTMENT={type:3,value:"ABUTMENT"},tt.DECK={type:3,value:"DECK"},tt.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"},tt.FOUNDATION={type:3,value:"FOUNDATION"},tt.PIER={type:3,value:"PIER"},tt.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"},tt.PYLON={type:3,value:"PYLON"},tt.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},tt.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},tt.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"},tt.USERDEFINED={type:3,value:"USERDEFINED"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let et=tt;t.IfcBridgePartTypeEnum=et;const st=class{};st.ARCHED={type:3,value:"ARCHED"},st.CABLE_STAYED={type:3,value:"CABLE_STAYED"},st.CANTILEVER={type:3,value:"CANTILEVER"},st.CULVERT={type:3,value:"CULVERT"},st.FRAMEWORK={type:3,value:"FRAMEWORK"},st.GIRDER={type:3,value:"GIRDER"},st.SUSPENSION={type:3,value:"SUSPENSION"},st.TRUSS={type:3,value:"TRUSS"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"};let it=st;t.IfcBridgeTypeEnum=it;const rt=class{};rt.APRON={type:3,value:"APRON"},rt.ARMOURUNIT={type:3,value:"ARMOURUNIT"},rt.INSULATION={type:3,value:"INSULATION"},rt.PRECASTPANEL={type:3,value:"PRECASTPANEL"},rt.SAFETYCAGE={type:3,value:"SAFETYCAGE"},rt.USERDEFINED={type:3,value:"USERDEFINED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"};let nt=rt;t.IfcBuildingElementPartTypeEnum=nt;const at=class{};at.COMPLEX={type:3,value:"COMPLEX"},at.ELEMENT={type:3,value:"ELEMENT"},at.PARTIAL={type:3,value:"PARTIAL"},at.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},at.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"};let ot=at;t.IfcBuildingElementProxyTypeEnum=ot;const ht=class{};ht.FENESTRATION={type:3,value:"FENESTRATION"},ht.FOUNDATION={type:3,value:"FOUNDATION"},ht.LOADBEARING={type:3,value:"LOADBEARING"},ht.OUTERSHELL={type:3,value:"OUTERSHELL"},ht.SHADING={type:3,value:"SHADING"},ht.TRANSPORT={type:3,value:"TRANSPORT"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let ct=ht;t.IfcBuildingSystemTypeEnum=ct;const lt=class{};lt.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},lt.FENESTRATION={type:3,value:"FENESTRATION"},lt.FOUNDATION={type:3,value:"FOUNDATION"},lt.LOADBEARING={type:3,value:"LOADBEARING"},lt.MOORING={type:3,value:"MOORING"},lt.OUTERSHELL={type:3,value:"OUTERSHELL"},lt.PRESTRESSING={type:3,value:"PRESTRESSING"},lt.RAILWAYLINE={type:3,value:"RAILWAYLINE"},lt.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"},lt.REINFORCING={type:3,value:"REINFORCING"},lt.SHADING={type:3,value:"SHADING"},lt.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"},lt.TRANSPORT={type:3,value:"TRANSPORT"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let pt=lt;t.IfcBuiltSystemTypeEnum=pt;const ut=class{};ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let Et=ut;t.IfcBurnerTypeEnum=Et;const It=class{};It.BEND={type:3,value:"BEND"},It.CONNECTOR={type:3,value:"CONNECTOR"},It.CROSS={type:3,value:"CROSS"},It.JUNCTION={type:3,value:"JUNCTION"},It.REDUCER={type:3,value:"REDUCER"},It.TEE={type:3,value:"TEE"},It.TRANSITION={type:3,value:"TRANSITION"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"};let yt=It;t.IfcCableCarrierFittingTypeEnum=yt;const Tt=class{};Tt.CABLEBRACKET={type:3,value:"CABLEBRACKET"},Tt.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Tt.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Tt.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Tt.CATENARYWIRE={type:3,value:"CATENARYWIRE"},Tt.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Tt.DROPPER={type:3,value:"DROPPER"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let dt=Tt;t.IfcCableCarrierSegmentTypeEnum=dt;const Nt=class{};Nt.CONNECTOR={type:3,value:"CONNECTOR"},Nt.ENTRY={type:3,value:"ENTRY"},Nt.EXIT={type:3,value:"EXIT"},Nt.FANOUT={type:3,value:"FANOUT"},Nt.JUNCTION={type:3,value:"JUNCTION"},Nt.TRANSITION={type:3,value:"TRANSITION"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rt=Nt;t.IfcCableFittingTypeEnum=Rt;const ft=class{};ft.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},ft.CABLESEGMENT={type:3,value:"CABLESEGMENT"},ft.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},ft.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"},ft.CORESEGMENT={type:3,value:"CORESEGMENT"},ft.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"},ft.FIBERTUBE={type:3,value:"FIBERTUBE"},ft.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"},ft.STITCHWIRE={type:3,value:"STITCHWIRE"},ft.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"},ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ot=ft;t.IfcCableSegmentTypeEnum=Ot;const Dt=class{};Dt.CAISSON={type:3,value:"CAISSON"},Dt.WELL={type:3,value:"WELL"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"};let mt=Dt;t.IfcCaissonFoundationTypeEnum=mt;const At=class{};At.ADDED={type:3,value:"ADDED"},At.DELETED={type:3,value:"DELETED"},At.MODIFIED={type:3,value:"MODIFIED"},At.NOCHANGE={type:3,value:"NOCHANGE"},At.NOTDEFINED={type:3,value:"NOTDEFINED"};let St=At;t.IfcChangeActionEnum=St;const Ct=class{};Ct.AIRCOOLED={type:3,value:"AIRCOOLED"},Ct.HEATRECOVERY={type:3,value:"HEATRECOVERY"},Ct.WATERCOOLED={type:3,value:"WATERCOOLED"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"};let vt=Ct;t.IfcChillerTypeEnum=vt;const Lt=class{};Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let bt=Lt;t.IfcChimneyTypeEnum=bt;const Pt=class{};Pt.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},Pt.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},Pt.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},Pt.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},Pt.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},Pt.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},Pt.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"};let gt=Pt;t.IfcCoilTypeEnum=gt;const xt=class{};xt.COLUMN={type:3,value:"COLUMN"},xt.PIERSTEM={type:3,value:"PIERSTEM"},xt.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"},xt.PILASTER={type:3,value:"PILASTER"},xt.STANDCOLUMN={type:3,value:"STANDCOLUMN"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let _t=xt;t.IfcColumnTypeEnum=_t;const Mt=class{};Mt.ANTENNA={type:3,value:"ANTENNA"},Mt.AUTOMATON={type:3,value:"AUTOMATON"},Mt.COMPUTER={type:3,value:"COMPUTER"},Mt.FAX={type:3,value:"FAX"},Mt.GATEWAY={type:3,value:"GATEWAY"},Mt.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"},Mt.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"},Mt.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"},Mt.MODEM={type:3,value:"MODEM"},Mt.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},Mt.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},Mt.NETWORKHUB={type:3,value:"NETWORKHUB"},Mt.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"},Mt.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"},Mt.PRINTER={type:3,value:"PRINTER"},Mt.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"},Mt.REPEATER={type:3,value:"REPEATER"},Mt.ROUTER={type:3,value:"ROUTER"},Mt.SCANNER={type:3,value:"SCANNER"},Mt.TELECOMMAND={type:3,value:"TELECOMMAND"},Mt.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"},Mt.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"},Mt.TRANSPONDER={type:3,value:"TRANSPONDER"},Mt.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ft=Mt;t.IfcCommunicationsApplianceTypeEnum=Ft;const Ut=class{};Ut.P_COMPLEX={type:3,value:"P_COMPLEX"},Ut.Q_COMPLEX={type:3,value:"Q_COMPLEX"};let wt=Ut;t.IfcComplexPropertyTemplateTypeEnum=wt;const Gt=class{};Gt.BOOSTER={type:3,value:"BOOSTER"},Gt.DYNAMIC={type:3,value:"DYNAMIC"},Gt.HERMETIC={type:3,value:"HERMETIC"},Gt.OPENTYPE={type:3,value:"OPENTYPE"},Gt.RECIPROCATING={type:3,value:"RECIPROCATING"},Gt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Gt.ROTARY={type:3,value:"ROTARY"},Gt.ROTARYVANE={type:3,value:"ROTARYVANE"},Gt.SCROLL={type:3,value:"SCROLL"},Gt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Gt.SINGLESCREW={type:3,value:"SINGLESCREW"},Gt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Gt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Gt.TWINSCREW={type:3,value:"TWINSCREW"},Gt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ht=Gt;t.IfcCompressorTypeEnum=Ht;const Bt=class{};Bt.AIRCOOLED={type:3,value:"AIRCOOLED"},Bt.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},Bt.WATERCOOLED={type:3,value:"WATERCOOLED"},Bt.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},Bt.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},Bt.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},Bt.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vt=Bt;t.IfcCondenserTypeEnum=Vt;const Wt=class{};Wt.ATEND={type:3,value:"ATEND"},Wt.ATPATH={type:3,value:"ATPATH"},Wt.ATSTART={type:3,value:"ATSTART"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"};let jt=Wt;t.IfcConnectionTypeEnum=jt;const Yt=class{};Yt.ADVISORY={type:3,value:"ADVISORY"},Yt.HARD={type:3,value:"HARD"},Yt.SOFT={type:3,value:"SOFT"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"};let zt=Yt;t.IfcConstraintEnum=zt;const kt=class{};kt.DEMOLISHING={type:3,value:"DEMOLISHING"},kt.EARTHMOVING={type:3,value:"EARTHMOVING"},kt.ERECTING={type:3,value:"ERECTING"},kt.HEATING={type:3,value:"HEATING"},kt.LIGHTING={type:3,value:"LIGHTING"},kt.PAVING={type:3,value:"PAVING"},kt.PUMPING={type:3,value:"PUMPING"},kt.TRANSPORTING={type:3,value:"TRANSPORTING"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xt=kt;t.IfcConstructionEquipmentResourceTypeEnum=Xt;const Kt=class{};Kt.AGGREGATES={type:3,value:"AGGREGATES"},Kt.CONCRETE={type:3,value:"CONCRETE"},Kt.DRYWALL={type:3,value:"DRYWALL"},Kt.FUEL={type:3,value:"FUEL"},Kt.GYPSUM={type:3,value:"GYPSUM"},Kt.MASONRY={type:3,value:"MASONRY"},Kt.METAL={type:3,value:"METAL"},Kt.PLASTIC={type:3,value:"PLASTIC"},Kt.WOOD={type:3,value:"WOOD"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zt=Kt;t.IfcConstructionMaterialResourceTypeEnum=Zt;const qt=class{};qt.ASSEMBLY={type:3,value:"ASSEMBLY"},qt.FORMWORK={type:3,value:"FORMWORK"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qt=qt;t.IfcConstructionProductResourceTypeEnum=Qt;const Jt=class{};Jt.FLOATING={type:3,value:"FLOATING"},Jt.MULTIPOSITION={type:3,value:"MULTIPOSITION"},Jt.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},Jt.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Jt.TWOPOSITION={type:3,value:"TWOPOSITION"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $t=Jt;t.IfcControllerTypeEnum=$t;const te=class{};te.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"},te.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"},te.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"},te.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"},te.USERDEFINED={type:3,value:"USERDEFINED"},te.NOTDEFINED={type:3,value:"NOTDEFINED"};let ee=te;t.IfcConveyorSegmentTypeEnum=ee;const se=class{};se.ACTIVE={type:3,value:"ACTIVE"},se.PASSIVE={type:3,value:"PASSIVE"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"};let ie=se;t.IfcCooledBeamTypeEnum=ie;const re=class{};re.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},re.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},re.NATURALDRAFT={type:3,value:"NATURALDRAFT"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"};let ne=re;t.IfcCoolingTowerTypeEnum=ne;const ae=class{};ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"};let oe=ae;t.IfcCostItemTypeEnum=oe;const he=class{};he.BUDGET={type:3,value:"BUDGET"},he.COSTPLAN={type:3,value:"COSTPLAN"},he.ESTIMATE={type:3,value:"ESTIMATE"},he.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},he.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},he.TENDER={type:3,value:"TENDER"},he.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"};let ce=he;t.IfcCostScheduleTypeEnum=ce;const le=class{};le.ARMOUR={type:3,value:"ARMOUR"},le.BALLASTBED={type:3,value:"BALLASTBED"},le.CORE={type:3,value:"CORE"},le.FILTER={type:3,value:"FILTER"},le.PAVEMENT={type:3,value:"PAVEMENT"},le.PROTECTION={type:3,value:"PROTECTION"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"};let pe=le;t.IfcCourseTypeEnum=pe;const ue=class{};ue.CEILING={type:3,value:"CEILING"},ue.CLADDING={type:3,value:"CLADDING"},ue.COPING={type:3,value:"COPING"},ue.FLOORING={type:3,value:"FLOORING"},ue.INSULATION={type:3,value:"INSULATION"},ue.MEMBRANE={type:3,value:"MEMBRANE"},ue.MOLDING={type:3,value:"MOLDING"},ue.ROOFING={type:3,value:"ROOFING"},ue.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},ue.SLEEVING={type:3,value:"SLEEVING"},ue.TOPPING={type:3,value:"TOPPING"},ue.WRAPPING={type:3,value:"WRAPPING"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ee=ue;t.IfcCoveringTypeEnum=Ee;const Ie=class{};Ie.OFFICE={type:3,value:"OFFICE"},Ie.SITE={type:3,value:"SITE"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"};let ye=Ie;t.IfcCrewResourceTypeEnum=ye;const Te=class{};Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"};let de=Te;t.IfcCurtainWallTypeEnum=de;const Ne=class{};Ne.LINEAR={type:3,value:"LINEAR"},Ne.LOG_LINEAR={type:3,value:"LOG_LINEAR"},Ne.LOG_LOG={type:3,value:"LOG_LOG"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"};let Re=Ne;t.IfcCurveInterpolationEnum=Re;const fe=class{};fe.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},fe.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},fe.BLASTDAMPER={type:3,value:"BLASTDAMPER"},fe.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},fe.FIREDAMPER={type:3,value:"FIREDAMPER"},fe.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},fe.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},fe.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},fe.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},fe.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},fe.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oe=fe;t.IfcDamperTypeEnum=Oe;const De=class{};De.MEASURED={type:3,value:"MEASURED"},De.PREDICTED={type:3,value:"PREDICTED"},De.SIMULATED={type:3,value:"SIMULATED"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"};let me=De;t.IfcDataOriginEnum=me;const Ae=class{};Ae.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Ae.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Ae.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},Ae.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Ae.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Ae.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Ae.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Ae.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Ae.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Ae.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Ae.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Ae.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Ae.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Ae.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Ae.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Ae.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Ae.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Ae.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Ae.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Ae.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Ae.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Ae.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Ae.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Ae.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Ae.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Ae.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Ae.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Ae.PHUNIT={type:3,value:"PHUNIT"},Ae.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Ae.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Ae.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Ae.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Ae.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Ae.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Ae.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Ae.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},Ae.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Ae.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},Ae.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Ae.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Ae.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Ae.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},Ae.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Ae.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Ae.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Ae.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Ae.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Ae.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Ae.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Ae.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Ae.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Ae.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Ae.USERDEFINED={type:3,value:"USERDEFINED"};let Se=Ae;t.IfcDerivedUnitEnum=Se;const Ce=class{};Ce.NEGATIVE={type:3,value:"NEGATIVE"},Ce.POSITIVE={type:3,value:"POSITIVE"};let ve=Ce;t.IfcDirectionSenseEnum=ve;const Le=class{};Le.ANCHORPLATE={type:3,value:"ANCHORPLATE"},Le.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"},Le.BRACKET={type:3,value:"BRACKET"},Le.CABLEARRANGER={type:3,value:"CABLEARRANGER"},Le.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"},Le.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"},Le.FILLER={type:3,value:"FILLER"},Le.FLASHING={type:3,value:"FLASHING"},Le.INSULATOR={type:3,value:"INSULATOR"},Le.LOCK={type:3,value:"LOCK"},Le.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"},Le.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"},Le.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"},Le.RAILBRACE={type:3,value:"RAILBRACE"},Le.RAILPAD={type:3,value:"RAILPAD"},Le.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"},Le.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"},Le.SHOE={type:3,value:"SHOE"},Le.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"},Le.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"},Le.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"};let be=Le;t.IfcDiscreteAccessoryTypeEnum=be;const Pe=class{};Pe.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Pe.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"},Pe.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Pe.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"},Pe.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Pe.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"};let ge=Pe;t.IfcDistributionBoardTypeEnum=ge;const xe=class{};xe.FORMEDDUCT={type:3,value:"FORMEDDUCT"},xe.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},xe.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},xe.MANHOLE={type:3,value:"MANHOLE"},xe.METERCHAMBER={type:3,value:"METERCHAMBER"},xe.SUMP={type:3,value:"SUMP"},xe.TRENCH={type:3,value:"TRENCH"},xe.VALVECHAMBER={type:3,value:"VALVECHAMBER"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"};let _e=xe;t.IfcDistributionChamberElementTypeEnum=_e;const Me=class{};Me.CABLE={type:3,value:"CABLE"},Me.CABLECARRIER={type:3,value:"CABLECARRIER"},Me.DUCT={type:3,value:"DUCT"},Me.PIPE={type:3,value:"PIPE"},Me.WIRELESS={type:3,value:"WIRELESS"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fe=Me;t.IfcDistributionPortTypeEnum=Fe;const Ue=class{};Ue.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},Ue.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},Ue.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"},Ue.CHEMICAL={type:3,value:"CHEMICAL"},Ue.CHILLEDWATER={type:3,value:"CHILLEDWATER"},Ue.COMMUNICATION={type:3,value:"COMMUNICATION"},Ue.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},Ue.CONDENSERWATER={type:3,value:"CONDENSERWATER"},Ue.CONTROL={type:3,value:"CONTROL"},Ue.CONVEYING={type:3,value:"CONVEYING"},Ue.DATA={type:3,value:"DATA"},Ue.DISPOSAL={type:3,value:"DISPOSAL"},Ue.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},Ue.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},Ue.DRAINAGE={type:3,value:"DRAINAGE"},Ue.EARTHING={type:3,value:"EARTHING"},Ue.ELECTRICAL={type:3,value:"ELECTRICAL"},Ue.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},Ue.EXHAUST={type:3,value:"EXHAUST"},Ue.FIREPROTECTION={type:3,value:"FIREPROTECTION"},Ue.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"},Ue.FUEL={type:3,value:"FUEL"},Ue.GAS={type:3,value:"GAS"},Ue.HAZARDOUS={type:3,value:"HAZARDOUS"},Ue.HEATING={type:3,value:"HEATING"},Ue.LIGHTING={type:3,value:"LIGHTING"},Ue.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},Ue.MOBILENETWORK={type:3,value:"MOBILENETWORK"},Ue.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"},Ue.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},Ue.OIL={type:3,value:"OIL"},Ue.OPERATIONAL={type:3,value:"OPERATIONAL"},Ue.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"},Ue.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"},Ue.POWERGENERATION={type:3,value:"POWERGENERATION"},Ue.RAINWATER={type:3,value:"RAINWATER"},Ue.REFRIGERATION={type:3,value:"REFRIGERATION"},Ue.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"},Ue.SECURITY={type:3,value:"SECURITY"},Ue.SEWAGE={type:3,value:"SEWAGE"},Ue.SIGNAL={type:3,value:"SIGNAL"},Ue.STORMWATER={type:3,value:"STORMWATER"},Ue.TELEPHONE={type:3,value:"TELEPHONE"},Ue.TV={type:3,value:"TV"},Ue.VACUUM={type:3,value:"VACUUM"},Ue.VENT={type:3,value:"VENT"},Ue.VENTILATION={type:3,value:"VENTILATION"},Ue.WASTEWATER={type:3,value:"WASTEWATER"},Ue.WATERSUPPLY={type:3,value:"WATERSUPPLY"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"};let we=Ue;t.IfcDistributionSystemEnum=we;const Ge=class{};Ge.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Ge.PERSONAL={type:3,value:"PERSONAL"},Ge.PUBLIC={type:3,value:"PUBLIC"},Ge.RESTRICTED={type:3,value:"RESTRICTED"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"};let He=Ge;t.IfcDocumentConfidentialityEnum=He;const Be=class{};Be.DRAFT={type:3,value:"DRAFT"},Be.FINAL={type:3,value:"FINAL"},Be.FINALDRAFT={type:3,value:"FINALDRAFT"},Be.REVISION={type:3,value:"REVISION"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ve=Be;t.IfcDocumentStatusEnum=Ve;const We=class{};We.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},We.FIXEDPANEL={type:3,value:"FIXEDPANEL"},We.FOLDING={type:3,value:"FOLDING"},We.REVOLVING={type:3,value:"REVOLVING"},We.ROLLINGUP={type:3,value:"ROLLINGUP"},We.SLIDING={type:3,value:"SLIDING"},We.SWINGING={type:3,value:"SWINGING"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"};let je=We;t.IfcDoorPanelOperationEnum=je;const Ye=class{};Ye.LEFT={type:3,value:"LEFT"},Ye.MIDDLE={type:3,value:"MIDDLE"},Ye.RIGHT={type:3,value:"RIGHT"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"};let ze=Ye;t.IfcDoorPanelPositionEnum=ze;const ke=class{};ke.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"},ke.DOOR={type:3,value:"DOOR"},ke.GATE={type:3,value:"GATE"},ke.TRAPDOOR={type:3,value:"TRAPDOOR"},ke.TURNSTILE={type:3,value:"TURNSTILE"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xe=ke;t.IfcDoorTypeEnum=Xe;const Ke=class{};Ke.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Ke.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Ke.DOUBLE_DOOR_LIFTING_VERTICAL={type:3,value:"DOUBLE_DOOR_LIFTING_VERTICAL"},Ke.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Ke.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Ke.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Ke.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Ke.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Ke.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Ke.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Ke.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Ke.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"},Ke.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"},Ke.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"},Ke.REVOLVING={type:3,value:"REVOLVING"},Ke.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"},Ke.ROLLINGUP={type:3,value:"ROLLINGUP"},Ke.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Ke.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Ke.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Ke.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Ke.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Ke.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ze=Ke;t.IfcDoorTypeOperationEnum=Ze;const qe=class{};qe.BEND={type:3,value:"BEND"},qe.CONNECTOR={type:3,value:"CONNECTOR"},qe.ENTRY={type:3,value:"ENTRY"},qe.EXIT={type:3,value:"EXIT"},qe.JUNCTION={type:3,value:"JUNCTION"},qe.OBSTRUCTION={type:3,value:"OBSTRUCTION"},qe.TRANSITION={type:3,value:"TRANSITION"},qe.USERDEFINED={type:3,value:"USERDEFINED"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qe=qe;t.IfcDuctFittingTypeEnum=Qe;const Je=class{};Je.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Je.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"};let $e=Je;t.IfcDuctSegmentTypeEnum=$e;const ts=class{};ts.FLATOVAL={type:3,value:"FLATOVAL"},ts.RECTANGULAR={type:3,value:"RECTANGULAR"},ts.ROUND={type:3,value:"ROUND"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let es=ts;t.IfcDuctSilencerTypeEnum=es;const ss=class{};ss.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"},ss.CUT={type:3,value:"CUT"},ss.DREDGING={type:3,value:"DREDGING"},ss.EXCAVATION={type:3,value:"EXCAVATION"},ss.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"},ss.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"},ss.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"},ss.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"},ss.TRENCH={type:3,value:"TRENCH"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let is=ss;t.IfcEarthworksCutTypeEnum=is;const rs=class{};rs.BACKFILL={type:3,value:"BACKFILL"},rs.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"},rs.EMBANKMENT={type:3,value:"EMBANKMENT"},rs.SLOPEFILL={type:3,value:"SLOPEFILL"},rs.SUBGRADE={type:3,value:"SUBGRADE"},rs.SUBGRADEBED={type:3,value:"SUBGRADEBED"},rs.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"};let ns=rs;t.IfcEarthworksFillTypeEnum=ns;const as=class{};as.DISHWASHER={type:3,value:"DISHWASHER"},as.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},as.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},as.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},as.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},as.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},as.FREEZER={type:3,value:"FREEZER"},as.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},as.HANDDRYER={type:3,value:"HANDDRYER"},as.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},as.MICROWAVE={type:3,value:"MICROWAVE"},as.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},as.REFRIGERATOR={type:3,value:"REFRIGERATOR"},as.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},as.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},as.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"};let os=as;t.IfcElectricApplianceTypeEnum=os;const hs=class{};hs.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},hs.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},hs.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},hs.SWITCHBOARD={type:3,value:"SWITCHBOARD"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let cs=hs;t.IfcElectricDistributionBoardTypeEnum=cs;const ls=class{};ls.BATTERY={type:3,value:"BATTERY"},ls.CAPACITOR={type:3,value:"CAPACITOR"},ls.CAPACITORBANK={type:3,value:"CAPACITORBANK"},ls.COMPENSATOR={type:3,value:"COMPENSATOR"},ls.HARMONICFILTER={type:3,value:"HARMONICFILTER"},ls.INDUCTOR={type:3,value:"INDUCTOR"},ls.INDUCTORBANK={type:3,value:"INDUCTORBANK"},ls.RECHARGER={type:3,value:"RECHARGER"},ls.UPS={type:3,value:"UPS"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let ps=ls;t.IfcElectricFlowStorageDeviceTypeEnum=ps;const us=class{};us.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"};let Es=us;t.IfcElectricFlowTreatmentDeviceTypeEnum=Es;const Is=class{};Is.CHP={type:3,value:"CHP"},Is.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Is.STANDALONE={type:3,value:"STANDALONE"},Is.USERDEFINED={type:3,value:"USERDEFINED"},Is.NOTDEFINED={type:3,value:"NOTDEFINED"};let ys=Is;t.IfcElectricGeneratorTypeEnum=ys;const Ts=class{};Ts.DC={type:3,value:"DC"},Ts.INDUCTION={type:3,value:"INDUCTION"},Ts.POLYPHASE={type:3,value:"POLYPHASE"},Ts.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Ts.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Ts.USERDEFINED={type:3,value:"USERDEFINED"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let ds=Ts;t.IfcElectricMotorTypeEnum=ds;const Ns=class{};Ns.RELAY={type:3,value:"RELAY"},Ns.TIMECLOCK={type:3,value:"TIMECLOCK"},Ns.TIMEDELAY={type:3,value:"TIMEDELAY"},Ns.USERDEFINED={type:3,value:"USERDEFINED"},Ns.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rs=Ns;t.IfcElectricTimeControlTypeEnum=Rs;const fs=class{};fs.ABUTMENT={type:3,value:"ABUTMENT"},fs.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},fs.ARCH={type:3,value:"ARCH"},fs.BEAM_GRID={type:3,value:"BEAM_GRID"},fs.BRACED_FRAME={type:3,value:"BRACED_FRAME"},fs.CROSS_BRACING={type:3,value:"CROSS_BRACING"},fs.DECK={type:3,value:"DECK"},fs.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"},fs.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"},fs.GIRDER={type:3,value:"GIRDER"},fs.GRID={type:3,value:"GRID"},fs.MAST={type:3,value:"MAST"},fs.PIER={type:3,value:"PIER"},fs.PYLON={type:3,value:"PYLON"},fs.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"},fs.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},fs.RIGID_FRAME={type:3,value:"RIGID_FRAME"},fs.SHELTER={type:3,value:"SHELTER"},fs.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"},fs.SLAB_FIELD={type:3,value:"SLAB_FIELD"},fs.SUMPBUSTER={type:3,value:"SUMPBUSTER"},fs.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"},fs.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"},fs.TRACKPANEL={type:3,value:"TRACKPANEL"},fs.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"},fs.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"},fs.TRUSS={type:3,value:"TRUSS"},fs.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"},fs.USERDEFINED={type:3,value:"USERDEFINED"},fs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Os=fs;t.IfcElementAssemblyTypeEnum=Os;const Ds=class{};Ds.COMPLEX={type:3,value:"COMPLEX"},Ds.ELEMENT={type:3,value:"ELEMENT"},Ds.PARTIAL={type:3,value:"PARTIAL"};let ms=Ds;t.IfcElementCompositionEnum=ms;const As=class{};As.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},As.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ss=As;t.IfcEngineTypeEnum=Ss;const Cs=class{};Cs.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Cs.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Cs.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Cs.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Cs.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Cs.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Cs.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Cs.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Cs.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let vs=Cs;t.IfcEvaporativeCoolerTypeEnum=vs;const Ls=class{};Ls.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},Ls.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ls.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ls.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ls.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ls.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let bs=Ls;t.IfcEvaporatorTypeEnum=bs;const Ps=class{};Ps.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},Ps.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},Ps.EVENTRULE={type:3,value:"EVENTRULE"},Ps.EVENTTIME={type:3,value:"EVENTTIME"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"};let gs=Ps;t.IfcEventTriggerTypeEnum=gs;const xs=class{};xs.ENDEVENT={type:3,value:"ENDEVENT"},xs.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},xs.STARTEVENT={type:3,value:"STARTEVENT"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"};let _s=xs;t.IfcEventTypeEnum=_s;const Ms=class{};Ms.EXTERNAL={type:3,value:"EXTERNAL"},Ms.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Ms.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Ms.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fs=Ms;t.IfcExternalSpatialElementTypeEnum=Fs;const Us=class{};Us.ABOVEGROUND={type:3,value:"ABOVEGROUND"},Us.BELOWGROUND={type:3,value:"BELOWGROUND"},Us.JUNCTION={type:3,value:"JUNCTION"},Us.LEVELCROSSING={type:3,value:"LEVELCROSSING"},Us.SEGMENT={type:3,value:"SEGMENT"},Us.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},Us.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},Us.TERMINAL={type:3,value:"TERMINAL"},Us.USERDEFINED={type:3,value:"USERDEFINED"},Us.NOTDEFINED={type:3,value:"NOTDEFINED"};let ws=Us;t.IfcFacilityPartCommonTypeEnum=ws;const Gs=class{};Gs.LATERAL={type:3,value:"LATERAL"},Gs.LONGITUDINAL={type:3,value:"LONGITUDINAL"},Gs.REGION={type:3,value:"REGION"},Gs.VERTICAL={type:3,value:"VERTICAL"},Gs.USERDEFINED={type:3,value:"USERDEFINED"},Gs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hs=Gs;t.IfcFacilityUsageEnum=Hs;const Bs=class{};Bs.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Bs.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Bs.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Bs.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Bs.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Bs.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Bs.VANEAXIAL={type:3,value:"VANEAXIAL"},Bs.USERDEFINED={type:3,value:"USERDEFINED"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vs=Bs;t.IfcFanTypeEnum=Vs;const Ws=class{};Ws.GLUE={type:3,value:"GLUE"},Ws.MORTAR={type:3,value:"MORTAR"},Ws.WELD={type:3,value:"WELD"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"};let js=Ws;t.IfcFastenerTypeEnum=js;const Ys=class{};Ys.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Ys.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},Ys.ODORFILTER={type:3,value:"ODORFILTER"},Ys.OILFILTER={type:3,value:"OILFILTER"},Ys.STRAINER={type:3,value:"STRAINER"},Ys.WATERFILTER={type:3,value:"WATERFILTER"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"};let zs=Ys;t.IfcFilterTypeEnum=zs;const ks=class{};ks.BREECHINGINLET={type:3,value:"BREECHINGINLET"},ks.FIREHYDRANT={type:3,value:"FIREHYDRANT"},ks.FIREMONITOR={type:3,value:"FIREMONITOR"},ks.HOSEREEL={type:3,value:"HOSEREEL"},ks.SPRINKLER={type:3,value:"SPRINKLER"},ks.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},ks.USERDEFINED={type:3,value:"USERDEFINED"},ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xs=ks;t.IfcFireSuppressionTerminalTypeEnum=Xs;const Ks=class{};Ks.SINK={type:3,value:"SINK"},Ks.SOURCE={type:3,value:"SOURCE"},Ks.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zs=Ks;t.IfcFlowDirectionEnum=Zs;const qs=class{};qs.AMMETER={type:3,value:"AMMETER"},qs.COMBINED={type:3,value:"COMBINED"},qs.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},qs.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},qs.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},qs.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},qs.THERMOMETER={type:3,value:"THERMOMETER"},qs.VOLTMETER={type:3,value:"VOLTMETER"},qs.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},qs.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},qs.USERDEFINED={type:3,value:"USERDEFINED"},qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qs=qs;t.IfcFlowInstrumentTypeEnum=Qs;const Js=class{};Js.ENERGYMETER={type:3,value:"ENERGYMETER"},Js.GASMETER={type:3,value:"GASMETER"},Js.OILMETER={type:3,value:"OILMETER"},Js.WATERMETER={type:3,value:"WATERMETER"},Js.USERDEFINED={type:3,value:"USERDEFINED"},Js.NOTDEFINED={type:3,value:"NOTDEFINED"};let $s=Js;t.IfcFlowMeterTypeEnum=$s;const ti=class{};ti.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},ti.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},ti.PAD_FOOTING={type:3,value:"PAD_FOOTING"},ti.PILE_CAP={type:3,value:"PILE_CAP"},ti.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let ei=ti;t.IfcFootingTypeEnum=ei;const si=class{};si.BED={type:3,value:"BED"},si.CHAIR={type:3,value:"CHAIR"},si.DESK={type:3,value:"DESK"},si.FILECABINET={type:3,value:"FILECABINET"},si.SHELF={type:3,value:"SHELF"},si.SOFA={type:3,value:"SOFA"},si.TABLE={type:3,value:"TABLE"},si.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"};let ii=si;t.IfcFurnitureTypeEnum=ii;const ri=class{};ri.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"},ri.TERRAIN={type:3,value:"TERRAIN"},ri.VEGETATION={type:3,value:"VEGETATION"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"};let ni=ri;t.IfcGeographicElementTypeEnum=ni;const ai=class{};ai.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},ai.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},ai.MODEL_VIEW={type:3,value:"MODEL_VIEW"},ai.PLAN_VIEW={type:3,value:"PLAN_VIEW"},ai.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},ai.SECTION_VIEW={type:3,value:"SECTION_VIEW"},ai.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let oi=ai;t.IfcGeometricProjectionEnum=oi;const hi=class{};hi.SOLID={type:3,value:"SOLID"},hi.VOID={type:3,value:"VOID"},hi.WATER={type:3,value:"WATER"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ci=hi;t.IfcGeotechnicalStratumTypeEnum=ci;const li=class{};li.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},li.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};let pi=li;t.IfcGlobalOrLocalEnum=pi;const ui=class{};ui.IRREGULAR={type:3,value:"IRREGULAR"},ui.RADIAL={type:3,value:"RADIAL"},ui.RECTANGULAR={type:3,value:"RECTANGULAR"},ui.TRIANGULAR={type:3,value:"TRIANGULAR"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ei=ui;t.IfcGridTypeEnum=Ei;const Ii=class{};Ii.PLATE={type:3,value:"PLATE"},Ii.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Ii.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let yi=Ii;t.IfcHeatExchangerTypeEnum=yi;const Ti=class{};Ti.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Ti.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Ti.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Ti.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Ti.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Ti.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Ti.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Ti.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Ti.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Ti.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Ti.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Ti.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Ti.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let di=Ti;t.IfcHumidifierTypeEnum=di;const Ni=class{};Ni.BUMPER={type:3,value:"BUMPER"},Ni.CRASHCUSHION={type:3,value:"CRASHCUSHION"},Ni.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"},Ni.FENDER={type:3,value:"FENDER"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ri=Ni;t.IfcImpactProtectionDeviceTypeEnum=Ri;const fi=class{};fi.CYCLONIC={type:3,value:"CYCLONIC"},fi.GREASE={type:3,value:"GREASE"},fi.OIL={type:3,value:"OIL"},fi.PETROL={type:3,value:"PETROL"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oi=fi;t.IfcInterceptorTypeEnum=Oi;const Di=class{};Di.EXTERNAL={type:3,value:"EXTERNAL"},Di.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Di.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Di.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Di.INTERNAL={type:3,value:"INTERNAL"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"};let mi=Di;t.IfcInternalOrExternalEnum=mi;const Ai=class{};Ai.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Ai.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Ai.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let Si=Ai;t.IfcInventoryTypeEnum=Si;const Ci=class{};Ci.DATA={type:3,value:"DATA"},Ci.POWER={type:3,value:"POWER"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"};let vi=Ci;t.IfcJunctionBoxTypeEnum=vi;const Li=class{};Li.USERDEFINED={type:3,value:"USERDEFINED"},Li.NOTDEFINED={type:3,value:"NOTDEFINED"};let bi=Li;t.IfcKerbTypeEnum=bi;const Pi=class{};Pi.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Pi.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Pi.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Pi.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let gi=Pi;t.IfcKnotType=gi;const xi=class{};xi.ADMINISTRATION={type:3,value:"ADMINISTRATION"},xi.CARPENTRY={type:3,value:"CARPENTRY"},xi.CLEANING={type:3,value:"CLEANING"},xi.CONCRETE={type:3,value:"CONCRETE"},xi.DRYWALL={type:3,value:"DRYWALL"},xi.ELECTRIC={type:3,value:"ELECTRIC"},xi.FINISHING={type:3,value:"FINISHING"},xi.FLOORING={type:3,value:"FLOORING"},xi.GENERAL={type:3,value:"GENERAL"},xi.HVAC={type:3,value:"HVAC"},xi.LANDSCAPING={type:3,value:"LANDSCAPING"},xi.MASONRY={type:3,value:"MASONRY"},xi.PAINTING={type:3,value:"PAINTING"},xi.PAVING={type:3,value:"PAVING"},xi.PLUMBING={type:3,value:"PLUMBING"},xi.ROOFING={type:3,value:"ROOFING"},xi.SITEGRADING={type:3,value:"SITEGRADING"},xi.STEELWORK={type:3,value:"STEELWORK"},xi.SURVEYING={type:3,value:"SURVEYING"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"};let _i=xi;t.IfcLaborResourceTypeEnum=_i;const Mi=class{};Mi.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Mi.FLUORESCENT={type:3,value:"FLUORESCENT"},Mi.HALOGEN={type:3,value:"HALOGEN"},Mi.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Mi.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Mi.LED={type:3,value:"LED"},Mi.METALHALIDE={type:3,value:"METALHALIDE"},Mi.OLED={type:3,value:"OLED"},Mi.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fi=Mi;t.IfcLampTypeEnum=Fi;const Ui=class{};Ui.AXIS1={type:3,value:"AXIS1"},Ui.AXIS2={type:3,value:"AXIS2"},Ui.AXIS3={type:3,value:"AXIS3"};let wi=Ui;t.IfcLayerSetDirectionEnum=wi;const Gi=class{};Gi.TYPE_A={type:3,value:"TYPE_A"},Gi.TYPE_B={type:3,value:"TYPE_B"},Gi.TYPE_C={type:3,value:"TYPE_C"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hi=Gi;t.IfcLightDistributionCurveEnum=Hi;const Bi=class{};Bi.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Bi.FLUORESCENT={type:3,value:"FLUORESCENT"},Bi.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Bi.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Bi.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Bi.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Bi.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Bi.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Bi.METALHALIDE={type:3,value:"METALHALIDE"},Bi.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vi=Bi;t.IfcLightEmissionSourceEnum=Vi;const Wi=class{};Wi.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},Wi.POINTSOURCE={type:3,value:"POINTSOURCE"},Wi.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},Wi.USERDEFINED={type:3,value:"USERDEFINED"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ji=Wi;t.IfcLightFixtureTypeEnum=ji;const Yi=class{};Yi.HOSEREEL={type:3,value:"HOSEREEL"},Yi.LOADINGARM={type:3,value:"LOADINGARM"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"};let zi=Yi;t.IfcLiquidTerminalTypeEnum=zi;const ki=class{};ki.LOAD_CASE={type:3,value:"LOAD_CASE"},ki.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},ki.LOAD_GROUP={type:3,value:"LOAD_GROUP"},ki.USERDEFINED={type:3,value:"USERDEFINED"},ki.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xi=ki;t.IfcLoadGroupTypeEnum=Xi;const Ki=class{};Ki.LOGICALAND={type:3,value:"LOGICALAND"},Ki.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Ki.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},Ki.LOGICALOR={type:3,value:"LOGICALOR"},Ki.LOGICALXOR={type:3,value:"LOGICALXOR"};let Zi=Ki;t.IfcLogicalOperatorEnum=Zi;const qi=class{};qi.BARRIERBEACH={type:3,value:"BARRIERBEACH"},qi.BREAKWATER={type:3,value:"BREAKWATER"},qi.CANAL={type:3,value:"CANAL"},qi.DRYDOCK={type:3,value:"DRYDOCK"},qi.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"},qi.HYDROLIFT={type:3,value:"HYDROLIFT"},qi.JETTY={type:3,value:"JETTY"},qi.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"},qi.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"},qi.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"},qi.PORT={type:3,value:"PORT"},qi.QUAY={type:3,value:"QUAY"},qi.REVETMENT={type:3,value:"REVETMENT"},qi.SHIPLIFT={type:3,value:"SHIPLIFT"},qi.SHIPLOCK={type:3,value:"SHIPLOCK"},qi.SHIPYARD={type:3,value:"SHIPYARD"},qi.SLIPWAY={type:3,value:"SLIPWAY"},qi.WATERWAY={type:3,value:"WATERWAY"},qi.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"},qi.USERDEFINED={type:3,value:"USERDEFINED"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qi=qi;t.IfcMarineFacilityTypeEnum=Qi;const Ji=class{};Ji.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"},Ji.ANCHORAGE={type:3,value:"ANCHORAGE"},Ji.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"},Ji.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"},Ji.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"},Ji.CHAMBER={type:3,value:"CHAMBER"},Ji.CILL_LEVEL={type:3,value:"CILL_LEVEL"},Ji.COPELEVEL={type:3,value:"COPELEVEL"},Ji.CORE={type:3,value:"CORE"},Ji.CREST={type:3,value:"CREST"},Ji.GATEHEAD={type:3,value:"GATEHEAD"},Ji.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"},Ji.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"},Ji.LANDFIELD={type:3,value:"LANDFIELD"},Ji.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"},Ji.LOWWATERLINE={type:3,value:"LOWWATERLINE"},Ji.MANUFACTURING={type:3,value:"MANUFACTURING"},Ji.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"},Ji.PROTECTION={type:3,value:"PROTECTION"},Ji.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"},Ji.STORAGEAREA={type:3,value:"STORAGEAREA"},Ji.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"},Ji.WATERFIELD={type:3,value:"WATERFIELD"},Ji.WEATHERSIDE={type:3,value:"WEATHERSIDE"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"};let $i=Ji;t.IfcMarinePartTypeEnum=$i;const tr=class{};tr.ANCHORBOLT={type:3,value:"ANCHORBOLT"},tr.BOLT={type:3,value:"BOLT"},tr.CHAIN={type:3,value:"CHAIN"},tr.COUPLER={type:3,value:"COUPLER"},tr.DOWEL={type:3,value:"DOWEL"},tr.NAIL={type:3,value:"NAIL"},tr.NAILPLATE={type:3,value:"NAILPLATE"},tr.RAILFASTENING={type:3,value:"RAILFASTENING"},tr.RAILJOINT={type:3,value:"RAILJOINT"},tr.RIVET={type:3,value:"RIVET"},tr.ROPE={type:3,value:"ROPE"},tr.SCREW={type:3,value:"SCREW"},tr.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},tr.STAPLE={type:3,value:"STAPLE"},tr.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let er=tr;t.IfcMechanicalFastenerTypeEnum=er;const sr=class{};sr.AIRSTATION={type:3,value:"AIRSTATION"},sr.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},sr.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},sr.OXYGENPLANT={type:3,value:"OXYGENPLANT"},sr.VACUUMSTATION={type:3,value:"VACUUMSTATION"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"};let ir=sr;t.IfcMedicalDeviceTypeEnum=ir;const rr=class{};rr.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"},rr.BRACE={type:3,value:"BRACE"},rr.CHORD={type:3,value:"CHORD"},rr.COLLAR={type:3,value:"COLLAR"},rr.MEMBER={type:3,value:"MEMBER"},rr.MULLION={type:3,value:"MULLION"},rr.PLATE={type:3,value:"PLATE"},rr.POST={type:3,value:"POST"},rr.PURLIN={type:3,value:"PURLIN"},rr.RAFTER={type:3,value:"RAFTER"},rr.STAY_CABLE={type:3,value:"STAY_CABLE"},rr.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"},rr.STRINGER={type:3,value:"STRINGER"},rr.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"},rr.STRUT={type:3,value:"STRUT"},rr.STUD={type:3,value:"STUD"},rr.SUSPENDER={type:3,value:"SUSPENDER"},rr.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"},rr.TIEBAR={type:3,value:"TIEBAR"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"};let nr=rr;t.IfcMemberTypeEnum=nr;const ar=class{};ar.ACCESSPOINT={type:3,value:"ACCESSPOINT"},ar.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"},ar.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"},ar.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"},ar.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"},ar.MASTERUNIT={type:3,value:"MASTERUNIT"},ar.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"},ar.MSCSERVER={type:3,value:"MSCSERVER"},ar.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"},ar.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"},ar.REMOTEUNIT={type:3,value:"REMOTEUNIT"},ar.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"},ar.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let or=ar;t.IfcMobileTelecommunicationsApplianceTypeEnum=or;const hr=class{};hr.BOLLARD={type:3,value:"BOLLARD"},hr.LINETENSIONER={type:3,value:"LINETENSIONER"},hr.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"},hr.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"},hr.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"};let cr=hr;t.IfcMooringDeviceTypeEnum=cr;const lr=class{};lr.BELTDRIVE={type:3,value:"BELTDRIVE"},lr.COUPLING={type:3,value:"COUPLING"},lr.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let pr=lr;t.IfcMotorConnectionTypeEnum=pr;const ur=class{};ur.BEACON={type:3,value:"BEACON"},ur.BUOY={type:3,value:"BUOY"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let Er=ur;t.IfcNavigationElementTypeEnum=Er;const Ir=class{};Ir.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Ir.CODEWAIVER={type:3,value:"CODEWAIVER"},Ir.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Ir.EXTERNAL={type:3,value:"EXTERNAL"},Ir.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Ir.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Ir.MODELVIEW={type:3,value:"MODELVIEW"},Ir.PARAMETER={type:3,value:"PARAMETER"},Ir.REQUIREMENT={type:3,value:"REQUIREMENT"},Ir.SPECIFICATION={type:3,value:"SPECIFICATION"},Ir.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"};let yr=Ir;t.IfcObjectiveEnum=yr;const Tr=class{};Tr.ASSIGNEE={type:3,value:"ASSIGNEE"},Tr.ASSIGNOR={type:3,value:"ASSIGNOR"},Tr.LESSEE={type:3,value:"LESSEE"},Tr.LESSOR={type:3,value:"LESSOR"},Tr.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Tr.OWNER={type:3,value:"OWNER"},Tr.TENANT={type:3,value:"TENANT"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let dr=Tr;t.IfcOccupantTypeEnum=dr;const Nr=class{};Nr.OPENING={type:3,value:"OPENING"},Nr.RECESS={type:3,value:"RECESS"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Rr=Nr;t.IfcOpeningElementTypeEnum=Rr;const fr=class{};fr.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},fr.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},fr.DATAOUTLET={type:3,value:"DATAOUTLET"},fr.POWEROUTLET={type:3,value:"POWEROUTLET"},fr.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Or=fr;t.IfcOutletTypeEnum=Or;const Dr=class{};Dr.FLEXIBLE={type:3,value:"FLEXIBLE"},Dr.RIGID={type:3,value:"RIGID"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"};let mr=Dr;t.IfcPavementTypeEnum=mr;const Ar=class{};Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sr=Ar;t.IfcPerformanceHistoryTypeEnum=Sr;const Cr=class{};Cr.GRILL={type:3,value:"GRILL"},Cr.LOUVER={type:3,value:"LOUVER"},Cr.SCREEN={type:3,value:"SCREEN"},Cr.USERDEFINED={type:3,value:"USERDEFINED"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"};let vr=Cr;t.IfcPermeableCoveringOperationEnum=vr;const Lr=class{};Lr.ACCESS={type:3,value:"ACCESS"},Lr.BUILDING={type:3,value:"BUILDING"},Lr.WORK={type:3,value:"WORK"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let br=Lr;t.IfcPermitTypeEnum=br;const Pr=class{};Pr.PHYSICAL={type:3,value:"PHYSICAL"},Pr.VIRTUAL={type:3,value:"VIRTUAL"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"};let gr=Pr;t.IfcPhysicalOrVirtualEnum=gr;const xr=class{};xr.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},xr.COMPOSITE={type:3,value:"COMPOSITE"},xr.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},xr.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"};let _r=xr;t.IfcPileConstructionEnum=_r;const Mr=class{};Mr.BORED={type:3,value:"BORED"},Mr.COHESION={type:3,value:"COHESION"},Mr.DRIVEN={type:3,value:"DRIVEN"},Mr.FRICTION={type:3,value:"FRICTION"},Mr.JETGROUTING={type:3,value:"JETGROUTING"},Mr.SUPPORT={type:3,value:"SUPPORT"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fr=Mr;t.IfcPileTypeEnum=Fr;const Ur=class{};Ur.BEND={type:3,value:"BEND"},Ur.CONNECTOR={type:3,value:"CONNECTOR"},Ur.ENTRY={type:3,value:"ENTRY"},Ur.EXIT={type:3,value:"EXIT"},Ur.JUNCTION={type:3,value:"JUNCTION"},Ur.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Ur.TRANSITION={type:3,value:"TRANSITION"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let wr=Ur;t.IfcPipeFittingTypeEnum=wr;const Gr=class{};Gr.CULVERT={type:3,value:"CULVERT"},Gr.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Gr.GUTTER={type:3,value:"GUTTER"},Gr.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Gr.SPOOL={type:3,value:"SPOOL"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hr=Gr;t.IfcPipeSegmentTypeEnum=Hr;const Br=class{};Br.BASE_PLATE={type:3,value:"BASE_PLATE"},Br.COVER_PLATE={type:3,value:"COVER_PLATE"},Br.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Br.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"},Br.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"},Br.SHEET={type:3,value:"SHEET"},Br.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"},Br.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"},Br.WEB_PLATE={type:3,value:"WEB_PLATE"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vr=Br;t.IfcPlateTypeEnum=Vr;const Wr=class{};Wr.CURVE3D={type:3,value:"CURVE3D"},Wr.PCURVE_S1={type:3,value:"PCURVE_S1"},Wr.PCURVE_S2={type:3,value:"PCURVE_S2"};let jr=Wr;t.IfcPreferredSurfaceCurveRepresentation=jr;const Yr=class{};Yr.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Yr.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Yr.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Yr.CALIBRATION={type:3,value:"CALIBRATION"},Yr.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Yr.SHUTDOWN={type:3,value:"SHUTDOWN"},Yr.STARTUP={type:3,value:"STARTUP"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let zr=Yr;t.IfcProcedureTypeEnum=zr;const kr=class{};kr.AREA={type:3,value:"AREA"},kr.CURVE={type:3,value:"CURVE"};let Xr=kr;t.IfcProfileTypeEnum=Xr;const Kr=class{};Kr.CHANGEORDER={type:3,value:"CHANGEORDER"},Kr.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},Kr.MOVEORDER={type:3,value:"MOVEORDER"},Kr.PURCHASEORDER={type:3,value:"PURCHASEORDER"},Kr.WORKORDER={type:3,value:"WORKORDER"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zr=Kr;t.IfcProjectOrderTypeEnum=Zr;const qr=class{};qr.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},qr.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};let Qr=qr;t.IfcProjectedOrTrueLengthEnum=Qr;const Jr=class{};Jr.BLISTER={type:3,value:"BLISTER"},Jr.DEVIATOR={type:3,value:"DEVIATOR"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"};let $r=Jr;t.IfcProjectionElementTypeEnum=$r;const tn=class{};tn.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"},tn.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},tn.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},tn.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"},tn.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},tn.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},tn.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},tn.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},tn.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"};let en=tn;t.IfcPropertySetTemplateTypeEnum=en;const sn=class{};sn.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},sn.ELECTRONIC={type:3,value:"ELECTRONIC"},sn.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},sn.THERMAL={type:3,value:"THERMAL"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let rn=sn;t.IfcProtectiveDeviceTrippingUnitTypeEnum=rn;const nn=class{};nn.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"},nn.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},nn.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},nn.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},nn.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},nn.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},nn.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},nn.SPARKGAP={type:3,value:"SPARKGAP"},nn.VARISTOR={type:3,value:"VARISTOR"},nn.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"};let an=nn;t.IfcProtectiveDeviceTypeEnum=an;const on=class{};on.CIRCULATOR={type:3,value:"CIRCULATOR"},on.ENDSUCTION={type:3,value:"ENDSUCTION"},on.SPLITCASE={type:3,value:"SPLITCASE"},on.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},on.SUMPPUMP={type:3,value:"SUMPPUMP"},on.VERTICALINLINE={type:3,value:"VERTICALINLINE"},on.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"};let hn=on;t.IfcPumpTypeEnum=hn;const cn=class{};cn.BLADE={type:3,value:"BLADE"},cn.CHECKRAIL={type:3,value:"CHECKRAIL"},cn.GUARDRAIL={type:3,value:"GUARDRAIL"},cn.RACKRAIL={type:3,value:"RACKRAIL"},cn.RAIL={type:3,value:"RAIL"},cn.STOCKRAIL={type:3,value:"STOCKRAIL"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"};let ln=cn;t.IfcRailTypeEnum=ln;const pn=class{};pn.BALUSTRADE={type:3,value:"BALUSTRADE"},pn.FENCE={type:3,value:"FENCE"},pn.GUARDRAIL={type:3,value:"GUARDRAIL"},pn.HANDRAIL={type:3,value:"HANDRAIL"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"};let un=pn;t.IfcRailingTypeEnum=un;const En=class{};En.ABOVETRACK={type:3,value:"ABOVETRACK"},En.DILATIONTRACK={type:3,value:"DILATIONTRACK"},En.LINESIDE={type:3,value:"LINESIDE"},En.LINESIDEPART={type:3,value:"LINESIDEPART"},En.PLAINTRACK={type:3,value:"PLAINTRACK"},En.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},En.TRACK={type:3,value:"TRACK"},En.TRACKPART={type:3,value:"TRACKPART"},En.TURNOUTTRACK={type:3,value:"TURNOUTTRACK"},En.USERDEFINED={type:3,value:"USERDEFINED"},En.NOTDEFINED={type:3,value:"NOTDEFINED"};let In=En;t.IfcRailwayPartTypeEnum=In;const yn=class{};yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Tn=yn;t.IfcRailwayTypeEnum=Tn;const dn=class{};dn.SPIRAL={type:3,value:"SPIRAL"},dn.STRAIGHT={type:3,value:"STRAIGHT"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Nn=dn;t.IfcRampFlightTypeEnum=Nn;const Rn=class{};Rn.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Rn.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Rn.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Rn.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Rn.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Rn.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"};let fn=Rn;t.IfcRampTypeEnum=fn;const On=class{};On.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},On.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},On.DAILY={type:3,value:"DAILY"},On.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},On.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},On.WEEKLY={type:3,value:"WEEKLY"},On.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},On.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"};let Dn=On;t.IfcRecurrenceTypeEnum=Dn;const mn=class{};mn.BOUNDARY={type:3,value:"BOUNDARY"},mn.INTERSECTION={type:3,value:"INTERSECTION"},mn.KILOPOINT={type:3,value:"KILOPOINT"},mn.LANDMARK={type:3,value:"LANDMARK"},mn.MILEPOINT={type:3,value:"MILEPOINT"},mn.POSITION={type:3,value:"POSITION"},mn.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"},mn.STATION={type:3,value:"STATION"},mn.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"},mn.WIDTHEVENT={type:3,value:"WIDTHEVENT"},mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"};let An=mn;t.IfcReferentTypeEnum=An;const Sn=class{};Sn.BLINN={type:3,value:"BLINN"},Sn.FLAT={type:3,value:"FLAT"},Sn.GLASS={type:3,value:"GLASS"},Sn.MATT={type:3,value:"MATT"},Sn.METAL={type:3,value:"METAL"},Sn.MIRROR={type:3,value:"MIRROR"},Sn.PHONG={type:3,value:"PHONG"},Sn.PHYSICAL={type:3,value:"PHYSICAL"},Sn.PLASTIC={type:3,value:"PLASTIC"},Sn.STRAUSS={type:3,value:"STRAUSS"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Cn=Sn;t.IfcReflectanceMethodEnum=Cn;const vn=class{};vn.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"},vn.GROUTED={type:3,value:"GROUTED"},vn.REPLACED={type:3,value:"REPLACED"},vn.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"},vn.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"},vn.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ln=vn;t.IfcReinforcedSoilTypeEnum=Ln;const bn=class{};bn.ANCHORING={type:3,value:"ANCHORING"},bn.EDGE={type:3,value:"EDGE"},bn.LIGATURE={type:3,value:"LIGATURE"},bn.MAIN={type:3,value:"MAIN"},bn.PUNCHING={type:3,value:"PUNCHING"},bn.RING={type:3,value:"RING"},bn.SHEAR={type:3,value:"SHEAR"},bn.STUD={type:3,value:"STUD"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pn=bn;t.IfcReinforcingBarRoleEnum=Pn;const gn=class{};gn.PLAIN={type:3,value:"PLAIN"},gn.TEXTURED={type:3,value:"TEXTURED"};let xn=gn;t.IfcReinforcingBarSurfaceEnum=xn;const _n=class{};_n.ANCHORING={type:3,value:"ANCHORING"},_n.EDGE={type:3,value:"EDGE"},_n.LIGATURE={type:3,value:"LIGATURE"},_n.MAIN={type:3,value:"MAIN"},_n.PUNCHING={type:3,value:"PUNCHING"},_n.RING={type:3,value:"RING"},_n.SHEAR={type:3,value:"SHEAR"},_n.SPACEBAR={type:3,value:"SPACEBAR"},_n.STUD={type:3,value:"STUD"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"};let Mn=_n;t.IfcReinforcingBarTypeEnum=Mn;const Fn=class{};Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Un=Fn;t.IfcReinforcingMeshTypeEnum=Un;const wn=class{};wn.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"},wn.BUS_STOP={type:3,value:"BUS_STOP"},wn.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"},wn.CENTRALISLAND={type:3,value:"CENTRALISLAND"},wn.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"},wn.HARDSHOULDER={type:3,value:"HARDSHOULDER"},wn.INTERSECTION={type:3,value:"INTERSECTION"},wn.LAYBY={type:3,value:"LAYBY"},wn.PARKINGBAY={type:3,value:"PARKINGBAY"},wn.PASSINGBAY={type:3,value:"PASSINGBAY"},wn.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"},wn.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"},wn.REFUGEISLAND={type:3,value:"REFUGEISLAND"},wn.ROADSEGMENT={type:3,value:"ROADSEGMENT"},wn.ROADSIDE={type:3,value:"ROADSIDE"},wn.ROADSIDEPART={type:3,value:"ROADSIDEPART"},wn.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"},wn.ROUNDABOUT={type:3,value:"ROUNDABOUT"},wn.SHOULDER={type:3,value:"SHOULDER"},wn.SIDEWALK={type:3,value:"SIDEWALK"},wn.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"},wn.TOLLPLAZA={type:3,value:"TOLLPLAZA"},wn.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"},wn.TRAFFICLANE={type:3,value:"TRAFFICLANE"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gn=wn;t.IfcRoadPartTypeEnum=Gn;const Hn=class{};Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Bn=Hn;t.IfcRoadTypeEnum=Bn;const Vn=class{};Vn.ARCHITECT={type:3,value:"ARCHITECT"},Vn.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Vn.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Vn.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Vn.CLIENT={type:3,value:"CLIENT"},Vn.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},Vn.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Vn.CONSULTANT={type:3,value:"CONSULTANT"},Vn.CONTRACTOR={type:3,value:"CONTRACTOR"},Vn.COSTENGINEER={type:3,value:"COSTENGINEER"},Vn.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Vn.ENGINEER={type:3,value:"ENGINEER"},Vn.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Vn.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Vn.MANUFACTURER={type:3,value:"MANUFACTURER"},Vn.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Vn.OWNER={type:3,value:"OWNER"},Vn.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Vn.RESELLER={type:3,value:"RESELLER"},Vn.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Vn.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Vn.SUPPLIER={type:3,value:"SUPPLIER"},Vn.USERDEFINED={type:3,value:"USERDEFINED"};let Wn=Vn;t.IfcRoleEnum=Wn;const jn=class{};jn.BARREL_ROOF={type:3,value:"BARREL_ROOF"},jn.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},jn.DOME_ROOF={type:3,value:"DOME_ROOF"},jn.FLAT_ROOF={type:3,value:"FLAT_ROOF"},jn.FREEFORM={type:3,value:"FREEFORM"},jn.GABLE_ROOF={type:3,value:"GABLE_ROOF"},jn.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},jn.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},jn.HIP_ROOF={type:3,value:"HIP_ROOF"},jn.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},jn.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},jn.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},jn.SHED_ROOF={type:3,value:"SHED_ROOF"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Yn=jn;t.IfcRoofTypeEnum=Yn;const zn=class{};zn.ATTO={type:3,value:"ATTO"},zn.CENTI={type:3,value:"CENTI"},zn.DECA={type:3,value:"DECA"},zn.DECI={type:3,value:"DECI"},zn.EXA={type:3,value:"EXA"},zn.FEMTO={type:3,value:"FEMTO"},zn.GIGA={type:3,value:"GIGA"},zn.HECTO={type:3,value:"HECTO"},zn.KILO={type:3,value:"KILO"},zn.MEGA={type:3,value:"MEGA"},zn.MICRO={type:3,value:"MICRO"},zn.MILLI={type:3,value:"MILLI"},zn.NANO={type:3,value:"NANO"},zn.PETA={type:3,value:"PETA"},zn.PICO={type:3,value:"PICO"},zn.TERA={type:3,value:"TERA"};let kn=zn;t.IfcSIPrefix=kn;const Xn=class{};Xn.AMPERE={type:3,value:"AMPERE"},Xn.BECQUEREL={type:3,value:"BECQUEREL"},Xn.CANDELA={type:3,value:"CANDELA"},Xn.COULOMB={type:3,value:"COULOMB"},Xn.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Xn.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Xn.FARAD={type:3,value:"FARAD"},Xn.GRAM={type:3,value:"GRAM"},Xn.GRAY={type:3,value:"GRAY"},Xn.HENRY={type:3,value:"HENRY"},Xn.HERTZ={type:3,value:"HERTZ"},Xn.JOULE={type:3,value:"JOULE"},Xn.KELVIN={type:3,value:"KELVIN"},Xn.LUMEN={type:3,value:"LUMEN"},Xn.LUX={type:3,value:"LUX"},Xn.METRE={type:3,value:"METRE"},Xn.MOLE={type:3,value:"MOLE"},Xn.NEWTON={type:3,value:"NEWTON"},Xn.OHM={type:3,value:"OHM"},Xn.PASCAL={type:3,value:"PASCAL"},Xn.RADIAN={type:3,value:"RADIAN"},Xn.SECOND={type:3,value:"SECOND"},Xn.SIEMENS={type:3,value:"SIEMENS"},Xn.SIEVERT={type:3,value:"SIEVERT"},Xn.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Xn.STERADIAN={type:3,value:"STERADIAN"},Xn.TESLA={type:3,value:"TESLA"},Xn.VOLT={type:3,value:"VOLT"},Xn.WATT={type:3,value:"WATT"},Xn.WEBER={type:3,value:"WEBER"};let Kn=Xn;t.IfcSIUnitName=Kn;const Zn=class{};Zn.BATH={type:3,value:"BATH"},Zn.BIDET={type:3,value:"BIDET"},Zn.CISTERN={type:3,value:"CISTERN"},Zn.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Zn.SHOWER={type:3,value:"SHOWER"},Zn.SINK={type:3,value:"SINK"},Zn.TOILETPAN={type:3,value:"TOILETPAN"},Zn.URINAL={type:3,value:"URINAL"},Zn.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Zn.WCSEAT={type:3,value:"WCSEAT"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"};let qn=Zn;t.IfcSanitaryTerminalTypeEnum=qn;const Qn=class{};Qn.TAPERED={type:3,value:"TAPERED"},Qn.UNIFORM={type:3,value:"UNIFORM"};let Jn=Qn;t.IfcSectionTypeEnum=Jn;const $n=class{};$n.CO2SENSOR={type:3,value:"CO2SENSOR"},$n.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},$n.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},$n.COSENSOR={type:3,value:"COSENSOR"},$n.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"},$n.FIRESENSOR={type:3,value:"FIRESENSOR"},$n.FLOWSENSOR={type:3,value:"FLOWSENSOR"},$n.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"},$n.FROSTSENSOR={type:3,value:"FROSTSENSOR"},$n.GASSENSOR={type:3,value:"GASSENSOR"},$n.HEATSENSOR={type:3,value:"HEATSENSOR"},$n.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},$n.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},$n.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},$n.LEVELSENSOR={type:3,value:"LEVELSENSOR"},$n.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},$n.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},$n.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},$n.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"},$n.PHSENSOR={type:3,value:"PHSENSOR"},$n.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},$n.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},$n.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},$n.RAINSENSOR={type:3,value:"RAINSENSOR"},$n.SMOKESENSOR={type:3,value:"SMOKESENSOR"},$n.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"},$n.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},$n.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},$n.TRAINSENSOR={type:3,value:"TRAINSENSOR"},$n.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"},$n.WHEELSENSOR={type:3,value:"WHEELSENSOR"},$n.WINDSENSOR={type:3,value:"WINDSENSOR"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"};let ta=$n;t.IfcSensorTypeEnum=ta;const ea=class{};ea.FINISH_FINISH={type:3,value:"FINISH_FINISH"},ea.FINISH_START={type:3,value:"FINISH_START"},ea.START_FINISH={type:3,value:"START_FINISH"},ea.START_START={type:3,value:"START_START"},ea.USERDEFINED={type:3,value:"USERDEFINED"},ea.NOTDEFINED={type:3,value:"NOTDEFINED"};let sa=ea;t.IfcSequenceEnum=sa;const ia=class{};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"};let ra=ia;t.IfcShadingDeviceTypeEnum=ra;const na=class{};na.MARKER={type:3,value:"MARKER"},na.MIRROR={type:3,value:"MIRROR"},na.PICTORAL={type:3,value:"PICTORAL"},na.USERDEFINED={type:3,value:"USERDEFINED"},na.NOTDEFINED={type:3,value:"NOTDEFINED"};let aa=na;t.IfcSignTypeEnum=aa;const oa=class{};oa.AUDIO={type:3,value:"AUDIO"},oa.MIXED={type:3,value:"MIXED"},oa.VISUAL={type:3,value:"VISUAL"},oa.USERDEFINED={type:3,value:"USERDEFINED"},oa.NOTDEFINED={type:3,value:"NOTDEFINED"};let ha=oa;t.IfcSignalTypeEnum=ha;const ca=class{};ca.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},ca.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},ca.P_LISTVALUE={type:3,value:"P_LISTVALUE"},ca.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},ca.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},ca.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},ca.Q_AREA={type:3,value:"Q_AREA"},ca.Q_COUNT={type:3,value:"Q_COUNT"},ca.Q_LENGTH={type:3,value:"Q_LENGTH"},ca.Q_NUMBER={type:3,value:"Q_NUMBER"},ca.Q_TIME={type:3,value:"Q_TIME"},ca.Q_VOLUME={type:3,value:"Q_VOLUME"},ca.Q_WEIGHT={type:3,value:"Q_WEIGHT"};let la=ca;t.IfcSimplePropertyTemplateTypeEnum=la;const pa=class{};pa.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"},pa.BASESLAB={type:3,value:"BASESLAB"},pa.FLOOR={type:3,value:"FLOOR"},pa.LANDING={type:3,value:"LANDING"},pa.PAVING={type:3,value:"PAVING"},pa.ROOF={type:3,value:"ROOF"},pa.SIDEWALK={type:3,value:"SIDEWALK"},pa.TRACKSLAB={type:3,value:"TRACKSLAB"},pa.WEARING={type:3,value:"WEARING"},pa.USERDEFINED={type:3,value:"USERDEFINED"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"};let ua=pa;t.IfcSlabTypeEnum=ua;const Ea=class{};Ea.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},Ea.SOLARPANEL={type:3,value:"SOLARPANEL"},Ea.USERDEFINED={type:3,value:"USERDEFINED"},Ea.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ia=Ea;t.IfcSolarDeviceTypeEnum=Ia;const ya=class{};ya.CONVECTOR={type:3,value:"CONVECTOR"},ya.RADIATOR={type:3,value:"RADIATOR"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ta=ya;t.IfcSpaceHeaterTypeEnum=Ta;const da=class{};da.BERTH={type:3,value:"BERTH"},da.EXTERNAL={type:3,value:"EXTERNAL"},da.GFA={type:3,value:"GFA"},da.INTERNAL={type:3,value:"INTERNAL"},da.PARKING={type:3,value:"PARKING"},da.SPACE={type:3,value:"SPACE"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"};let Na=da;t.IfcSpaceTypeEnum=Na;const Ra=class{};Ra.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Ra.FIRESAFETY={type:3,value:"FIRESAFETY"},Ra.INTERFERENCE={type:3,value:"INTERFERENCE"},Ra.LIGHTING={type:3,value:"LIGHTING"},Ra.OCCUPANCY={type:3,value:"OCCUPANCY"},Ra.RESERVATION={type:3,value:"RESERVATION"},Ra.SECURITY={type:3,value:"SECURITY"},Ra.THERMAL={type:3,value:"THERMAL"},Ra.TRANSPORT={type:3,value:"TRANSPORT"},Ra.VENTILATION={type:3,value:"VENTILATION"},Ra.USERDEFINED={type:3,value:"USERDEFINED"},Ra.NOTDEFINED={type:3,value:"NOTDEFINED"};let fa=Ra;t.IfcSpatialZoneTypeEnum=fa;const Oa=class{};Oa.BIRDCAGE={type:3,value:"BIRDCAGE"},Oa.COWL={type:3,value:"COWL"},Oa.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Oa.USERDEFINED={type:3,value:"USERDEFINED"},Oa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Da=Oa;t.IfcStackTerminalTypeEnum=Da;const ma=class{};ma.CURVED={type:3,value:"CURVED"},ma.FREEFORM={type:3,value:"FREEFORM"},ma.SPIRAL={type:3,value:"SPIRAL"},ma.STRAIGHT={type:3,value:"STRAIGHT"},ma.WINDER={type:3,value:"WINDER"},ma.USERDEFINED={type:3,value:"USERDEFINED"},ma.NOTDEFINED={type:3,value:"NOTDEFINED"};let Aa=ma;t.IfcStairFlightTypeEnum=Aa;const Sa=class{};Sa.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Sa.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Sa.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Sa.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Sa.LADDER={type:3,value:"LADDER"},Sa.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Sa.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Sa.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Sa.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Sa.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Sa.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Sa.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Sa.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Sa.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Sa.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Sa.USERDEFINED={type:3,value:"USERDEFINED"},Sa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ca=Sa;t.IfcStairTypeEnum=Ca;const va=class{};va.LOCKED={type:3,value:"LOCKED"},va.READONLY={type:3,value:"READONLY"},va.READONLYLOCKED={type:3,value:"READONLYLOCKED"},va.READWRITE={type:3,value:"READWRITE"},va.READWRITELOCKED={type:3,value:"READWRITELOCKED"};let La=va;t.IfcStateEnum=La;const ba=class{};ba.CONST={type:3,value:"CONST"},ba.DISCRETE={type:3,value:"DISCRETE"},ba.EQUIDISTANT={type:3,value:"EQUIDISTANT"},ba.LINEAR={type:3,value:"LINEAR"},ba.PARABOLA={type:3,value:"PARABOLA"},ba.POLYGONAL={type:3,value:"POLYGONAL"},ba.SINUS={type:3,value:"SINUS"},ba.USERDEFINED={type:3,value:"USERDEFINED"},ba.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pa=ba;t.IfcStructuralCurveActivityTypeEnum=Pa;const ga=class{};ga.CABLE={type:3,value:"CABLE"},ga.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},ga.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},ga.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},ga.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},ga.USERDEFINED={type:3,value:"USERDEFINED"},ga.NOTDEFINED={type:3,value:"NOTDEFINED"};let xa=ga;t.IfcStructuralCurveMemberTypeEnum=xa;const _a=class{};_a.BILINEAR={type:3,value:"BILINEAR"},_a.CONST={type:3,value:"CONST"},_a.DISCRETE={type:3,value:"DISCRETE"},_a.ISOCONTOUR={type:3,value:"ISOCONTOUR"},_a.USERDEFINED={type:3,value:"USERDEFINED"},_a.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ma=_a;t.IfcStructuralSurfaceActivityTypeEnum=Ma;const Fa=class{};Fa.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Fa.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Fa.SHELL={type:3,value:"SHELL"},Fa.USERDEFINED={type:3,value:"USERDEFINED"},Fa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ua=Fa;t.IfcStructuralSurfaceMemberTypeEnum=Ua;const wa=class{};wa.PURCHASE={type:3,value:"PURCHASE"},wa.WORK={type:3,value:"WORK"},wa.USERDEFINED={type:3,value:"USERDEFINED"},wa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ga=wa;t.IfcSubContractResourceTypeEnum=Ga;const Ha=class{};Ha.DEFECT={type:3,value:"DEFECT"},Ha.HATCHMARKING={type:3,value:"HATCHMARKING"},Ha.LINEMARKING={type:3,value:"LINEMARKING"},Ha.MARK={type:3,value:"MARK"},Ha.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"},Ha.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"},Ha.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"},Ha.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"},Ha.TAG={type:3,value:"TAG"},Ha.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"},Ha.TREATMENT={type:3,value:"TREATMENT"},Ha.USERDEFINED={type:3,value:"USERDEFINED"},Ha.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ba=Ha;t.IfcSurfaceFeatureTypeEnum=Ba;const Va=class{};Va.BOTH={type:3,value:"BOTH"},Va.NEGATIVE={type:3,value:"NEGATIVE"},Va.POSITIVE={type:3,value:"POSITIVE"};let Wa=Va;t.IfcSurfaceSide=Wa;const ja=class{};ja.CONTACTOR={type:3,value:"CONTACTOR"},ja.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ja.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ja.KEYPAD={type:3,value:"KEYPAD"},ja.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ja.RELAY={type:3,value:"RELAY"},ja.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ja.STARTER={type:3,value:"STARTER"},ja.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"},ja.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ja.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ja.USERDEFINED={type:3,value:"USERDEFINED"},ja.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ya=ja;t.IfcSwitchingDeviceTypeEnum=Ya;const za=class{};za.PANEL={type:3,value:"PANEL"},za.SUBRACK={type:3,value:"SUBRACK"},za.WORKSURFACE={type:3,value:"WORKSURFACE"},za.USERDEFINED={type:3,value:"USERDEFINED"},za.NOTDEFINED={type:3,value:"NOTDEFINED"};let ka=za;t.IfcSystemFurnitureElementTypeEnum=ka;const Xa=class{};Xa.BASIN={type:3,value:"BASIN"},Xa.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Xa.EXPANSION={type:3,value:"EXPANSION"},Xa.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Xa.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"},Xa.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Xa.STORAGE={type:3,value:"STORAGE"},Xa.VESSEL={type:3,value:"VESSEL"},Xa.USERDEFINED={type:3,value:"USERDEFINED"},Xa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ka=Xa;t.IfcTankTypeEnum=Ka;const Za=class{};Za.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Za.WORKTIME={type:3,value:"WORKTIME"},Za.NOTDEFINED={type:3,value:"NOTDEFINED"};let qa=Za;t.IfcTaskDurationEnum=qa;const Qa=class{};Qa.ADJUSTMENT={type:3,value:"ADJUSTMENT"},Qa.ATTENDANCE={type:3,value:"ATTENDANCE"},Qa.CALIBRATION={type:3,value:"CALIBRATION"},Qa.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Qa.DEMOLITION={type:3,value:"DEMOLITION"},Qa.DISMANTLE={type:3,value:"DISMANTLE"},Qa.DISPOSAL={type:3,value:"DISPOSAL"},Qa.EMERGENCY={type:3,value:"EMERGENCY"},Qa.INSPECTION={type:3,value:"INSPECTION"},Qa.INSTALLATION={type:3,value:"INSTALLATION"},Qa.LOGISTIC={type:3,value:"LOGISTIC"},Qa.MAINTENANCE={type:3,value:"MAINTENANCE"},Qa.MOVE={type:3,value:"MOVE"},Qa.OPERATION={type:3,value:"OPERATION"},Qa.REMOVAL={type:3,value:"REMOVAL"},Qa.RENOVATION={type:3,value:"RENOVATION"},Qa.SAFETY={type:3,value:"SAFETY"},Qa.SHUTDOWN={type:3,value:"SHUTDOWN"},Qa.STARTUP={type:3,value:"STARTUP"},Qa.TESTING={type:3,value:"TESTING"},Qa.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"},Qa.USERDEFINED={type:3,value:"USERDEFINED"},Qa.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ja=Qa;t.IfcTaskTypeEnum=Ja;const $a=class{};$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"};let to=$a;t.IfcTendonAnchorTypeEnum=to;const eo=class{};eo.COUPLER={type:3,value:"COUPLER"},eo.DIABOLO={type:3,value:"DIABOLO"},eo.DUCT={type:3,value:"DUCT"},eo.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"},eo.TRUMPET={type:3,value:"TRUMPET"},eo.USERDEFINED={type:3,value:"USERDEFINED"},eo.NOTDEFINED={type:3,value:"NOTDEFINED"};let so=eo;t.IfcTendonConduitTypeEnum=so;const io=class{};io.BAR={type:3,value:"BAR"},io.COATED={type:3,value:"COATED"},io.STRAND={type:3,value:"STRAND"},io.WIRE={type:3,value:"WIRE"},io.USERDEFINED={type:3,value:"USERDEFINED"},io.NOTDEFINED={type:3,value:"NOTDEFINED"};let ro=io;t.IfcTendonTypeEnum=ro;const no=class{};no.DOWN={type:3,value:"DOWN"},no.LEFT={type:3,value:"LEFT"},no.RIGHT={type:3,value:"RIGHT"},no.UP={type:3,value:"UP"};let ao=no;t.IfcTextPath=ao;const oo=class{};oo.CONTINUOUS={type:3,value:"CONTINUOUS"},oo.DISCRETE={type:3,value:"DISCRETE"},oo.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},oo.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},oo.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},oo.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},oo.NOTDEFINED={type:3,value:"NOTDEFINED"};let ho=oo;t.IfcTimeSeriesDataTypeEnum=ho;const co=class{};co.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"},co.DERAILER={type:3,value:"DERAILER"},co.FROG={type:3,value:"FROG"},co.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"},co.SLEEPER={type:3,value:"SLEEPER"},co.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"},co.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"},co.VEHICLESTOP={type:3,value:"VEHICLESTOP"},co.USERDEFINED={type:3,value:"USERDEFINED"},co.NOTDEFINED={type:3,value:"NOTDEFINED"};let lo=co;t.IfcTrackElementTypeEnum=lo;const po=class{};po.CHOPPER={type:3,value:"CHOPPER"},po.COMBINED={type:3,value:"COMBINED"},po.CURRENT={type:3,value:"CURRENT"},po.FREQUENCY={type:3,value:"FREQUENCY"},po.INVERTER={type:3,value:"INVERTER"},po.RECTIFIER={type:3,value:"RECTIFIER"},po.VOLTAGE={type:3,value:"VOLTAGE"},po.USERDEFINED={type:3,value:"USERDEFINED"},po.NOTDEFINED={type:3,value:"NOTDEFINED"};let uo=po;t.IfcTransformerTypeEnum=uo;const Eo=class{};Eo.CONTINUOUS={type:3,value:"CONTINUOUS"},Eo.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Eo.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},Eo.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"};let Io=Eo;t.IfcTransitionCode=Io;const yo=class{};yo.CRANEWAY={type:3,value:"CRANEWAY"},yo.ELEVATOR={type:3,value:"ELEVATOR"},yo.ESCALATOR={type:3,value:"ESCALATOR"},yo.HAULINGGEAR={type:3,value:"HAULINGGEAR"},yo.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},yo.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},yo.USERDEFINED={type:3,value:"USERDEFINED"},yo.NOTDEFINED={type:3,value:"NOTDEFINED"};let To=yo;t.IfcTransportElementTypeEnum=To;const No=class{};No.CARTESIAN={type:3,value:"CARTESIAN"},No.PARAMETER={type:3,value:"PARAMETER"},No.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let Ro=No;t.IfcTrimmingPreference=Ro;const fo=class{};fo.FINNED={type:3,value:"FINNED"},fo.USERDEFINED={type:3,value:"USERDEFINED"},fo.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oo=fo;t.IfcTubeBundleTypeEnum=Oo;const Do=class{};Do.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Do.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Do.AREAUNIT={type:3,value:"AREAUNIT"},Do.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Do.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Do.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Do.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Do.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Do.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Do.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Do.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Do.FORCEUNIT={type:3,value:"FORCEUNIT"},Do.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Do.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Do.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Do.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Do.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Do.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Do.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Do.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Do.MASSUNIT={type:3,value:"MASSUNIT"},Do.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Do.POWERUNIT={type:3,value:"POWERUNIT"},Do.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Do.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Do.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Do.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Do.TIMEUNIT={type:3,value:"TIMEUNIT"},Do.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Do.USERDEFINED={type:3,value:"USERDEFINED"};let mo=Do;t.IfcUnitEnum=mo;const Ao=class{};Ao.ALARMPANEL={type:3,value:"ALARMPANEL"},Ao.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"},Ao.COMBINED={type:3,value:"COMBINED"},Ao.CONTROLPANEL={type:3,value:"CONTROLPANEL"},Ao.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},Ao.HUMIDISTAT={type:3,value:"HUMIDISTAT"},Ao.INDICATORPANEL={type:3,value:"INDICATORPANEL"},Ao.MIMICPANEL={type:3,value:"MIMICPANEL"},Ao.THERMOSTAT={type:3,value:"THERMOSTAT"},Ao.WEATHERSTATION={type:3,value:"WEATHERSTATION"},Ao.USERDEFINED={type:3,value:"USERDEFINED"},Ao.NOTDEFINED={type:3,value:"NOTDEFINED"};let So=Ao;t.IfcUnitaryControlElementTypeEnum=So;const Co=class{};Co.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},Co.AIRHANDLER={type:3,value:"AIRHANDLER"},Co.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},Co.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},Co.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},Co.USERDEFINED={type:3,value:"USERDEFINED"},Co.NOTDEFINED={type:3,value:"NOTDEFINED"};let vo=Co;t.IfcUnitaryEquipmentTypeEnum=vo;const Lo=class{};Lo.AIRRELEASE={type:3,value:"AIRRELEASE"},Lo.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Lo.CHANGEOVER={type:3,value:"CHANGEOVER"},Lo.CHECK={type:3,value:"CHECK"},Lo.COMMISSIONING={type:3,value:"COMMISSIONING"},Lo.DIVERTING={type:3,value:"DIVERTING"},Lo.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Lo.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Lo.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Lo.FAUCET={type:3,value:"FAUCET"},Lo.FLUSHING={type:3,value:"FLUSHING"},Lo.GASCOCK={type:3,value:"GASCOCK"},Lo.GASTAP={type:3,value:"GASTAP"},Lo.ISOLATING={type:3,value:"ISOLATING"},Lo.MIXING={type:3,value:"MIXING"},Lo.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Lo.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Lo.REGULATING={type:3,value:"REGULATING"},Lo.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Lo.STEAMTRAP={type:3,value:"STEAMTRAP"},Lo.STOPCOCK={type:3,value:"STOPCOCK"},Lo.USERDEFINED={type:3,value:"USERDEFINED"},Lo.NOTDEFINED={type:3,value:"NOTDEFINED"};let bo=Lo;t.IfcValveTypeEnum=bo;const Po=class{};Po.CARGO={type:3,value:"CARGO"},Po.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"},Po.VEHICLE={type:3,value:"VEHICLE"},Po.VEHICLEAIR={type:3,value:"VEHICLEAIR"},Po.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"},Po.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"},Po.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"},Po.USERDEFINED={type:3,value:"USERDEFINED"},Po.NOTDEFINED={type:3,value:"NOTDEFINED"};let go=Po;t.IfcVehicleTypeEnum=go;const xo=class{};xo.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"},xo.BENDING_YIELD={type:3,value:"BENDING_YIELD"},xo.FRICTION={type:3,value:"FRICTION"},xo.RUBBER={type:3,value:"RUBBER"},xo.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"},xo.VISCOUS={type:3,value:"VISCOUS"},xo.USERDEFINED={type:3,value:"USERDEFINED"},xo.NOTDEFINED={type:3,value:"NOTDEFINED"};let _o=xo;t.IfcVibrationDamperTypeEnum=_o;const Mo=class{};Mo.BASE={type:3,value:"BASE"},Mo.COMPRESSION={type:3,value:"COMPRESSION"},Mo.SPRING={type:3,value:"SPRING"},Mo.USERDEFINED={type:3,value:"USERDEFINED"},Mo.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fo=Mo;t.IfcVibrationIsolatorTypeEnum=Fo;const Uo=class{};Uo.BOUNDARY={type:3,value:"BOUNDARY"},Uo.CLEARANCE={type:3,value:"CLEARANCE"},Uo.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Uo.USERDEFINED={type:3,value:"USERDEFINED"},Uo.NOTDEFINED={type:3,value:"NOTDEFINED"};let wo=Uo;t.IfcVirtualElementTypeEnum=wo;const Go=class{};Go.CHAMFER={type:3,value:"CHAMFER"},Go.CUTOUT={type:3,value:"CUTOUT"},Go.EDGE={type:3,value:"EDGE"},Go.HOLE={type:3,value:"HOLE"},Go.MITER={type:3,value:"MITER"},Go.NOTCH={type:3,value:"NOTCH"},Go.USERDEFINED={type:3,value:"USERDEFINED"},Go.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ho=Go;t.IfcVoidingFeatureTypeEnum=Ho;const Bo=class{};Bo.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Bo.MOVABLE={type:3,value:"MOVABLE"},Bo.PARAPET={type:3,value:"PARAPET"},Bo.PARTITIONING={type:3,value:"PARTITIONING"},Bo.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Bo.POLYGONAL={type:3,value:"POLYGONAL"},Bo.RETAININGWALL={type:3,value:"RETAININGWALL"},Bo.SHEAR={type:3,value:"SHEAR"},Bo.SOLIDWALL={type:3,value:"SOLIDWALL"},Bo.STANDARD={type:3,value:"STANDARD"},Bo.WAVEWALL={type:3,value:"WAVEWALL"},Bo.USERDEFINED={type:3,value:"USERDEFINED"},Bo.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vo=Bo;t.IfcWallTypeEnum=Vo;const Wo=class{};Wo.FLOORTRAP={type:3,value:"FLOORTRAP"},Wo.FLOORWASTE={type:3,value:"FLOORWASTE"},Wo.GULLYSUMP={type:3,value:"GULLYSUMP"},Wo.GULLYTRAP={type:3,value:"GULLYTRAP"},Wo.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Wo.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Wo.WASTETRAP={type:3,value:"WASTETRAP"},Wo.USERDEFINED={type:3,value:"USERDEFINED"},Wo.NOTDEFINED={type:3,value:"NOTDEFINED"};let jo=Wo;t.IfcWasteTerminalTypeEnum=jo;const Yo=class{};Yo.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Yo.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Yo.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Yo.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Yo.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Yo.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Yo.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Yo.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Yo.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Yo.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Yo.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Yo.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Yo.TOPHUNG={type:3,value:"TOPHUNG"},Yo.NOTDEFINED={type:3,value:"NOTDEFINED"};let zo=Yo;t.IfcWindowPanelOperationEnum=zo;const ko=class{};ko.BOTTOM={type:3,value:"BOTTOM"},ko.LEFT={type:3,value:"LEFT"},ko.MIDDLE={type:3,value:"MIDDLE"},ko.RIGHT={type:3,value:"RIGHT"},ko.TOP={type:3,value:"TOP"},ko.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xo=ko;t.IfcWindowPanelPositionEnum=Xo;const Ko=class{};Ko.LIGHTDOME={type:3,value:"LIGHTDOME"},Ko.SKYLIGHT={type:3,value:"SKYLIGHT"},Ko.WINDOW={type:3,value:"WINDOW"},Ko.USERDEFINED={type:3,value:"USERDEFINED"},Ko.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zo=Ko;t.IfcWindowTypeEnum=Zo;const qo=class{};qo.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},qo.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},qo.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},qo.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},qo.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},qo.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},qo.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},qo.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},qo.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},qo.USERDEFINED={type:3,value:"USERDEFINED"},qo.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qo=qo;t.IfcWindowTypePartitioningEnum=Qo;const Jo=class{};Jo.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},Jo.SECONDSHIFT={type:3,value:"SECONDSHIFT"},Jo.THIRDSHIFT={type:3,value:"THIRDSHIFT"},Jo.USERDEFINED={type:3,value:"USERDEFINED"},Jo.NOTDEFINED={type:3,value:"NOTDEFINED"};let $o=Jo;t.IfcWorkCalendarTypeEnum=$o;const th=class{};th.ACTUAL={type:3,value:"ACTUAL"},th.BASELINE={type:3,value:"BASELINE"},th.PLANNED={type:3,value:"PLANNED"},th.USERDEFINED={type:3,value:"USERDEFINED"},th.NOTDEFINED={type:3,value:"NOTDEFINED"};let eh=th;t.IfcWorkPlanTypeEnum=eh;const sh=class{};sh.ACTUAL={type:3,value:"ACTUAL"},sh.BASELINE={type:3,value:"BASELINE"},sh.PLANNED={type:3,value:"PLANNED"},sh.USERDEFINED={type:3,value:"USERDEFINED"},sh.NOTDEFINED={type:3,value:"NOTDEFINED"};let ih=sh;t.IfcWorkScheduleTypeEnum=ih;t.IfcActorRole=class extends Gu{constructor(t,e,s){super(),this.Role=t,this.UserDefinedRole=e,this.Description=s,this.type=3630933823}};class rh extends Gu{constructor(t,e,s){super(),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.type=618182010}}t.IfcAddress=rh;class nh extends Gu{constructor(t,e){super(),this.StartTag=t,this.EndTag=e,this.type=2879124712}}t.IfcAlignmentParameterSegment=nh;t.IfcAlignmentVerticalSegment=class extends nh{constructor(t,e,s,i,r,n,a,o,h){super(t,e),this.StartTag=t,this.EndTag=e,this.StartDistAlong=s,this.HorizontalLength=i,this.StartHeight=r,this.StartGradient=n,this.EndGradient=a,this.RadiusOfCurvature=o,this.PredefinedType=h,this.type=3633395639}};t.IfcApplication=class extends Gu{constructor(t,e,s,i){super(),this.ApplicationDeveloper=t,this.Version=e,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class ah extends Gu{constructor(t,e,s,i,r,n,a,o,h,c){super(),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.Category=a,this.Condition=o,this.ArithmeticOperator=h,this.Components=c,this.type=411424972}}t.IfcAppliedValue=ah;t.IfcApproval=class extends Gu{constructor(t,e,s,i,r,n,a,o,h){super(),this.Identifier=t,this.Name=e,this.Description=s,this.TimeOfApproval=i,this.Status=r,this.Level=n,this.Qualifier=a,this.RequestingApproval=o,this.GivingApproval=h,this.type=130549933}};class oh extends Gu{constructor(t){super(),this.Name=t,this.type=4037036970}}t.IfcBoundaryCondition=oh;t.IfcBoundaryEdgeCondition=class extends oh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TranslationalStiffnessByLengthX=e,this.TranslationalStiffnessByLengthY=s,this.TranslationalStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=r,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};t.IfcBoundaryFaceCondition=class extends oh{constructor(t,e,s,i){super(t),this.Name=t,this.TranslationalStiffnessByAreaX=e,this.TranslationalStiffnessByAreaY=s,this.TranslationalStiffnessByAreaZ=i,this.type=3367102660}};class hh extends oh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TranslationalStiffnessX=e,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}t.IfcBoundaryNodeCondition=hh;t.IfcBoundaryNodeConditionWarping=class extends hh{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.TranslationalStiffnessX=e,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=r,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=o,this.type=2069777674}};class ch extends Gu{constructor(){super(),this.type=2859738748}}t.IfcConnectionGeometry=ch;class lh extends ch{constructor(t,e){super(),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.type=2614616156}}t.IfcConnectionPointGeometry=lh;t.IfcConnectionSurfaceGeometry=class extends ch{constructor(t,e){super(),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=e,this.type=2732653382}};t.IfcConnectionVolumeGeometry=class extends ch{constructor(t,e){super(),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=e,this.type=775493141}};class ph extends Gu{constructor(t,e,s,i,r,n,a){super(),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}t.IfcConstraint=ph;class uh extends Gu{constructor(t,e){super(),this.SourceCRS=t,this.TargetCRS=e,this.type=1785450214}}t.IfcCoordinateOperation=uh;class Eh extends Gu{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.GeodeticDatum=s,this.type=1466758467}}t.IfcCoordinateReferenceSystem=Eh;t.IfcCostValue=class extends ah{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h,c),this.Name=t,this.Description=e,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=r,this.FixedUntilDate=n,this.Category=a,this.Condition=o,this.ArithmeticOperator=h,this.Components=c,this.type=602808272}};t.IfcDerivedUnit=class extends Gu{constructor(t,e,s,i){super(),this.Elements=t,this.UnitType=e,this.UserDefinedType=s,this.Name=i,this.type=1765591967}};t.IfcDerivedUnitElement=class extends Gu{constructor(t,e){super(),this.Unit=t,this.Exponent=e,this.type=1045800335}};t.IfcDimensionalExponents=class extends Gu{constructor(t,e,s,i,r,n,a){super(),this.LengthExponent=t,this.MassExponent=e,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=r,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};class Ih extends Gu{constructor(){super(),this.type=4294318154}}t.IfcExternalInformation=Ih;class yh extends Gu{constructor(t,e,s){super(),this.Location=t,this.Identification=e,this.Name=s,this.type=3200245327}}t.IfcExternalReference=yh;t.IfcExternallyDefinedHatchStyle=class extends yh{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=2242383968}};t.IfcExternallyDefinedSurfaceStyle=class extends yh{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=1040185647}};t.IfcExternallyDefinedTextFont=class extends yh{constructor(t,e,s){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.type=3548104201}};t.IfcGeographicCRS=class extends Eh{constructor(t,e,s,i,r,n){super(t,e,s),this.Name=t,this.Description=e,this.GeodeticDatum=s,this.PrimeMeridian=i,this.AngleUnit=r,this.HeightUnit=n,this.type=917726184}};t.IfcGridAxis=class extends Gu{constructor(t,e,s){super(),this.AxisTag=t,this.AxisCurve=e,this.SameSense=s,this.type=852622518}};t.IfcIrregularTimeSeriesValue=class extends Gu{constructor(t,e){super(),this.TimeStamp=t,this.ListValues=e,this.type=3020489413}};t.IfcLibraryInformation=class extends Ih{constructor(t,e,s,i,r,n){super(),this.Name=t,this.Version=e,this.Publisher=s,this.VersionDate=i,this.Location=r,this.Description=n,this.type=2655187982}};t.IfcLibraryReference=class extends yh{constructor(t,e,s,i,r,n){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.Description=i,this.Language=r,this.ReferencedLibrary=n,this.type=3452421091}};t.IfcLightDistributionData=class extends Gu{constructor(t,e,s){super(),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=e,this.LuminousIntensity=s,this.type=4162380809}};t.IfcLightIntensityDistribution=class extends Gu{constructor(t,e){super(),this.LightDistributionCurve=t,this.DistributionData=e,this.type=1566485204}};class Th extends uh{constructor(t,e,s,i,r,n,a,o){super(t,e),this.SourceCRS=t,this.TargetCRS=e,this.Eastings=s,this.Northings=i,this.OrthogonalHeight=r,this.XAxisAbscissa=n,this.XAxisOrdinate=a,this.Scale=o,this.type=3057273783}}t.IfcMapConversion=Th;t.IfcMapConversionScaled=class extends Th{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o),this.SourceCRS=t,this.TargetCRS=e,this.Eastings=s,this.Northings=i,this.OrthogonalHeight=r,this.XAxisAbscissa=n,this.XAxisOrdinate=a,this.Scale=o,this.FactorX=h,this.FactorY=c,this.FactorZ=l,this.type=4105526436}};t.IfcMaterialClassificationRelationship=class extends Gu{constructor(t,e){super(),this.MaterialClassifications=t,this.ClassifiedMaterial=e,this.type=1847130766}};class dh extends Gu{constructor(){super(),this.type=760658860}}t.IfcMaterialDefinition=dh;class Nh extends dh{constructor(t,e,s,i,r,n,a){super(),this.Material=t,this.LayerThickness=e,this.IsVentilated=s,this.Name=i,this.Description=r,this.Category=n,this.Priority=a,this.type=248100487}}t.IfcMaterialLayer=Nh;t.IfcMaterialLayerSet=class extends dh{constructor(t,e,s){super(),this.MaterialLayers=t,this.LayerSetName=e,this.Description=s,this.type=3303938423}};t.IfcMaterialLayerWithOffsets=class extends Nh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.Material=t,this.LayerThickness=e,this.IsVentilated=s,this.Name=i,this.Description=r,this.Category=n,this.Priority=a,this.OffsetDirection=o,this.OffsetValues=h,this.type=1847252529}};t.IfcMaterialList=class extends Gu{constructor(t){super(),this.Materials=t,this.type=2199411900}};class Rh extends dh{constructor(t,e,s,i,r,n){super(),this.Name=t,this.Description=e,this.Material=s,this.Profile=i,this.Priority=r,this.Category=n,this.type=2235152071}}t.IfcMaterialProfile=Rh;t.IfcMaterialProfileSet=class extends dh{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.MaterialProfiles=s,this.CompositeProfile=i,this.type=164193824}};t.IfcMaterialProfileWithOffsets=class extends Rh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.Name=t,this.Description=e,this.Material=s,this.Profile=i,this.Priority=r,this.Category=n,this.OffsetValues=a,this.type=552965576}};class fh extends Gu{constructor(){super(),this.type=1507914824}}t.IfcMaterialUsageDefinition=fh;t.IfcMeasureWithUnit=class extends Gu{constructor(t,e){super(),this.ValueComponent=t,this.UnitComponent=e,this.type=2597039031}};t.IfcMetric=class extends ph{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=o,this.ValueSource=h,this.DataValue=c,this.ReferencePath=l,this.type=3368373690}};t.IfcMonetaryUnit=class extends Gu{constructor(t){super(),this.Currency=t,this.type=2706619895}};class Oh extends Gu{constructor(t,e){super(),this.Dimensions=t,this.UnitType=e,this.type=1918398963}}t.IfcNamedUnit=Oh;class Dh extends Gu{constructor(t){super(),this.PlacementRelTo=t,this.type=3701648758}}t.IfcObjectPlacement=Dh;t.IfcObjective=class extends ph{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.Name=t,this.Description=e,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=r,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=o,this.LogicalAggregator=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=l,this.type=2251480897}};t.IfcOrganization=class extends Gu{constructor(t,e,s,i,r){super(),this.Identification=t,this.Name=e,this.Description=s,this.Roles=i,this.Addresses=r,this.type=4251960020}};t.IfcOwnerHistory=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.OwningUser=t,this.OwningApplication=e,this.State=s,this.ChangeAction=i,this.LastModifiedDate=r,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=o,this.type=1207048766}};t.IfcPerson=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Identification=t,this.FamilyName=e,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=r,this.SuffixTitles=n,this.Roles=a,this.Addresses=o,this.type=2077209135}};t.IfcPersonAndOrganization=class extends Gu{constructor(t,e,s){super(),this.ThePerson=t,this.TheOrganization=e,this.Roles=s,this.type=101040310}};class mh extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2483315170}}t.IfcPhysicalQuantity=mh;class Ah extends mh{constructor(t,e,s){super(t,e),this.Name=t,this.Description=e,this.Unit=s,this.type=2226359599}}t.IfcPhysicalSimpleQuantity=Ah;t.IfcPostalAddress=class extends rh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=r,this.PostalBox=n,this.Town=a,this.Region=o,this.PostalCode=h,this.Country=c,this.type=3355820592}};class Sh extends Gu{constructor(){super(),this.type=677532197}}t.IfcPresentationItem=Sh;class Ch extends Gu{constructor(t,e,s,i){super(),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}t.IfcPresentationLayerAssignment=Ch;t.IfcPresentationLayerWithStyle=class extends Ch{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i),this.Name=t,this.Description=e,this.AssignedItems=s,this.Identifier=i,this.LayerOn=r,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=o,this.type=1304840413}};class vh extends Gu{constructor(t){super(),this.Name=t,this.type=3119450353}}t.IfcPresentationStyle=vh;class Lh extends Gu{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Representations=s,this.type=2095639259}}t.IfcProductRepresentation=Lh;class bh extends Gu{constructor(t,e){super(),this.ProfileType=t,this.ProfileName=e,this.type=3958567839}}t.IfcProfileDef=bh;t.IfcProjectedCRS=class extends Eh{constructor(t,e,s,i,r,n,a){super(t,e,s),this.Name=t,this.Description=e,this.GeodeticDatum=s,this.VerticalDatum=i,this.MapProjection=r,this.MapZone=n,this.MapUnit=a,this.type=3843373140}};class Ph extends Gu{constructor(){super(),this.type=986844984}}t.IfcPropertyAbstraction=Ph;t.IfcPropertyEnumeration=class extends Ph{constructor(t,e,s){super(),this.Name=t,this.EnumerationValues=e,this.Unit=s,this.type=3710013099}};t.IfcQuantityArea=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.AreaValue=i,this.Formula=r,this.type=2044713172}};t.IfcQuantityCount=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.CountValue=i,this.Formula=r,this.type=2093928680}};t.IfcQuantityLength=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.LengthValue=i,this.Formula=r,this.type=931644368}};t.IfcQuantityNumber=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.NumberValue=i,this.Formula=r,this.type=2691318326}};t.IfcQuantityTime=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.TimeValue=i,this.Formula=r,this.type=3252649465}};t.IfcQuantityVolume=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.VolumeValue=i,this.Formula=r,this.type=2405470396}};t.IfcQuantityWeight=class extends Ah{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.Description=e,this.Unit=s,this.WeightValue=i,this.Formula=r,this.type=825690147}};t.IfcRecurrencePattern=class extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.RecurrenceType=t,this.DayComponent=e,this.WeekdayComponent=s,this.MonthComponent=i,this.Position=r,this.Interval=n,this.Occurrences=a,this.TimePeriods=o,this.type=3915482550}};t.IfcReference=class extends Gu{constructor(t,e,s,i,r){super(),this.TypeIdentifier=t,this.AttributeIdentifier=e,this.InstanceName=s,this.ListPositions=i,this.InnerReference=r,this.type=2433181523}};class gh extends Gu{constructor(t,e,s,i){super(),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1076942058}}t.IfcRepresentation=gh;class xh extends Gu{constructor(t,e){super(),this.ContextIdentifier=t,this.ContextType=e,this.type=3377609919}}t.IfcRepresentationContext=xh;class _h extends Gu{constructor(){super(),this.type=3008791417}}t.IfcRepresentationItem=_h;t.IfcRepresentationMap=class extends Gu{constructor(t,e){super(),this.MappingOrigin=t,this.MappedRepresentation=e,this.type=1660063152}};class Mh extends Gu{constructor(t,e){super(),this.Name=t,this.Description=e,this.type=2439245199}}t.IfcResourceLevelRelationship=Mh;t.IfcRigidOperation=class extends uh{constructor(t,e,s,i,r){super(t,e),this.SourceCRS=t,this.TargetCRS=e,this.FirstCoordinate=s,this.SecondCoordinate=i,this.Height=r,this.type=1794013214}};class Fh extends Gu{constructor(t,e,s,i){super(),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2341007311}}t.IfcRoot=Fh;t.IfcSIUnit=class extends Oh{constructor(t,e,s){super(new Uu(0),t),this.UnitType=t,this.Prefix=e,this.Name=s,this.type=448429030}};class Uh extends Gu{constructor(t,e,s){super(),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.type=1054537805}}t.IfcSchedulingTime=Uh;t.IfcShapeAspect=class extends Gu{constructor(t,e,s,i,r){super(),this.ShapeRepresentations=t,this.Name=e,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=r,this.type=867548509}};class wh extends gh{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3982875396}}t.IfcShapeModel=wh;t.IfcShapeRepresentation=class extends wh{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class Gh extends Gu{constructor(t){super(),this.Name=t,this.type=2273995522}}t.IfcStructuralConnectionCondition=Gh;class Hh extends Gu{constructor(t){super(),this.Name=t,this.type=2162789131}}t.IfcStructuralLoad=Hh;t.IfcStructuralLoadConfiguration=class extends Hh{constructor(t,e,s){super(t),this.Name=t,this.Values=e,this.Locations=s,this.type=3478079324}};class Bh extends Hh{constructor(t){super(t),this.Name=t,this.type=609421318}}t.IfcStructuralLoadOrResult=Bh;class Vh extends Bh{constructor(t){super(t),this.Name=t,this.type=2525727697}}t.IfcStructuralLoadStatic=Vh;t.IfcStructuralLoadTemperature=class extends Vh{constructor(t,e,s,i){super(t),this.Name=t,this.DeltaTConstant=e,this.DeltaTY=s,this.DeltaTZ=i,this.type=3408363356}};class Wh extends gh{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=2830218821}}t.IfcStyleModel=Wh;t.IfcStyledItem=class extends _h{constructor(t,e,s){super(),this.Item=t,this.Styles=e,this.Name=s,this.type=3958052878}};t.IfcStyledRepresentation=class extends Wh{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=3049322572}};t.IfcSurfaceReinforcementArea=class extends Bh{constructor(t,e,s,i){super(t),this.Name=t,this.SurfaceReinforcement1=e,this.SurfaceReinforcement2=s,this.ShearReinforcement=i,this.type=2934153892}};t.IfcSurfaceStyle=class extends vh{constructor(t,e,s){super(t),this.Name=t,this.Side=e,this.Styles=s,this.type=1300840506}};t.IfcSurfaceStyleLighting=class extends Sh{constructor(t,e,s,i){super(),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=e,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}};t.IfcSurfaceStyleRefraction=class extends Sh{constructor(t,e){super(),this.RefractionIndex=t,this.DispersionFactor=e,this.type=1607154358}};class jh extends Sh{constructor(t,e){super(),this.SurfaceColour=t,this.Transparency=e,this.type=846575682}}t.IfcSurfaceStyleShading=jh;t.IfcSurfaceStyleWithTextures=class extends Sh{constructor(t){super(),this.Textures=t,this.type=1351298697}};class Yh extends Sh{constructor(t,e,s,i,r){super(),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.type=626085974}}t.IfcSurfaceTexture=Yh;t.IfcTable=class extends Gu{constructor(t,e,s){super(),this.Name=t,this.Rows=e,this.Columns=s,this.type=985171141}};t.IfcTableColumn=class extends Gu{constructor(t,e,s,i,r){super(),this.Identifier=t,this.Name=e,this.Description=s,this.Unit=i,this.ReferencePath=r,this.type=2043862942}};t.IfcTableRow=class extends Gu{constructor(t,e){super(),this.RowCells=t,this.IsHeading=e,this.type=531007025}};class zh extends Uh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=o,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=l,this.FreeFloat=p,this.TotalFloat=u,this.IsCritical=E,this.StatusTime=I,this.ActualDuration=y,this.ActualStart=T,this.ActualFinish=d,this.RemainingTime=N,this.Completion=R,this.type=1549132990}}t.IfcTaskTime=zh;t.IfcTaskTimeRecurring=class extends zh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R,f){super(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=o,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=l,this.FreeFloat=p,this.TotalFloat=u,this.IsCritical=E,this.StatusTime=I,this.ActualDuration=y,this.ActualStart=T,this.ActualFinish=d,this.RemainingTime=N,this.Completion=R,this.Recurrence=f,this.type=2771591690}};t.IfcTelecomAddress=class extends rh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.Purpose=t,this.Description=e,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=r,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=o,this.MessagingIDs=h,this.type=912023232}};t.IfcTextStyle=class extends vh{constructor(t,e,s,i,r){super(t),this.Name=t,this.TextCharacterAppearance=e,this.TextStyle=s,this.TextFontStyle=i,this.ModelOrDraughting=r,this.type=1447204868}};t.IfcTextStyleForDefinedFont=class extends Sh{constructor(t,e){super(),this.Colour=t,this.BackgroundColour=e,this.type=2636378356}};t.IfcTextStyleTextModel=class extends Sh{constructor(t,e,s,i,r,n,a){super(),this.TextIndent=t,this.TextAlign=e,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=r,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};class kh extends Sh{constructor(t){super(),this.Maps=t,this.type=280115917}}t.IfcTextureCoordinate=kh;t.IfcTextureCoordinateGenerator=class extends kh{constructor(t,e,s){super(t),this.Maps=t,this.Mode=e,this.Parameter=s,this.type=1742049831}};class Xh extends Gu{constructor(t,e){super(),this.TexCoordIndex=t,this.TexCoordsOf=e,this.type=222769930}}t.IfcTextureCoordinateIndices=Xh;t.IfcTextureCoordinateIndicesWithVoids=class extends Xh{constructor(t,e,s){super(t,e),this.TexCoordIndex=t,this.TexCoordsOf=e,this.InnerTexCoordIndices=s,this.type=1010789467}};t.IfcTextureMap=class extends kh{constructor(t,e,s){super(t),this.Maps=t,this.Vertices=e,this.MappedTo=s,this.type=2552916305}};t.IfcTextureVertex=class extends Sh{constructor(t){super(),this.Coordinates=t,this.type=1210645708}};t.IfcTextureVertexList=class extends Sh{constructor(t){super(),this.TexCoordsList=t,this.type=3611470254}};t.IfcTimePeriod=class extends Gu{constructor(t,e){super(),this.StartTime=t,this.EndTime=e,this.type=1199560280}};class Kh extends Gu{constructor(t,e,s,i,r,n,a,o){super(),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.type=3101149627}}t.IfcTimeSeries=Kh;t.IfcTimeSeriesValue=class extends Gu{constructor(t){super(),this.ListValues=t,this.type=581633288}};class Zh extends _h{constructor(){super(),this.type=1377556343}}t.IfcTopologicalRepresentationItem=Zh;t.IfcTopologyRepresentation=class extends wh{constructor(t,e,s,i){super(t,e,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=e,this.RepresentationType=s,this.Items=i,this.type=1735638870}};t.IfcUnitAssignment=class extends Gu{constructor(t){super(),this.Units=t,this.type=180925521}};class qh extends Zh{constructor(){super(),this.type=2799835756}}t.IfcVertex=qh;t.IfcVertexPoint=class extends qh{constructor(t){super(),this.VertexGeometry=t,this.type=1907098498}};t.IfcVirtualGridIntersection=class extends Gu{constructor(t,e){super(),this.IntersectingAxes=t,this.OffsetDistances=e,this.type=891718957}};t.IfcWellKnownText=class extends Gu{constructor(t,e){super(),this.WellKnownText=t,this.CoordinateReferenceSystem=e,this.type=1175146630}};t.IfcWorkTime=class extends Uh{constructor(t,e,s,i,r,n){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.RecurrencePattern=i,this.StartDate=r,this.FinishDate=n,this.type=1236880293}};t.IfcAlignmentCantSegment=class extends nh{constructor(t,e,s,i,r,n,a,o,h){super(t,e),this.StartTag=t,this.EndTag=e,this.StartDistAlong=s,this.HorizontalLength=i,this.StartCantLeft=r,this.EndCantLeft=n,this.StartCantRight=a,this.EndCantRight=o,this.PredefinedType=h,this.type=3752311538}};t.IfcAlignmentHorizontalSegment=class extends nh{constructor(t,e,s,i,r,n,a,o,h){super(t,e),this.StartTag=t,this.EndTag=e,this.StartPoint=s,this.StartDirection=i,this.StartRadiusOfCurvature=r,this.EndRadiusOfCurvature=n,this.SegmentLength=a,this.GravityCenterLineHeight=o,this.PredefinedType=h,this.type=536804194}};t.IfcApprovalRelationship=class extends Mh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingApproval=s,this.RelatedApprovals=i,this.type=3869604511}};class Qh extends bh{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.type=3798115385}}t.IfcArbitraryClosedProfileDef=Qh;class Jh extends bh{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.type=1310608509}}t.IfcArbitraryOpenProfileDef=Jh;t.IfcArbitraryProfileDefWithVoids=class extends Qh{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}};t.IfcBlobTexture=class extends Yh{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.RasterFormat=n,this.RasterCode=a,this.type=616511568}};t.IfcCenterLineProfileDef=class extends Jh{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Curve=s,this.Thickness=i,this.type=3150382593}};t.IfcClassification=class extends Ih{constructor(t,e,s,i,r,n,a){super(),this.Source=t,this.Edition=e,this.EditionDate=s,this.Name=i,this.Description=r,this.Specification=n,this.ReferenceTokens=a,this.type=747523909}};t.IfcClassificationReference=class extends yh{constructor(t,e,s,i,r,n){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.ReferencedSource=i,this.Description=r,this.Sort=n,this.type=647927063}};t.IfcColourRgbList=class extends Sh{constructor(t){super(),this.ColourList=t,this.type=3285139300}};class $h extends Sh{constructor(t){super(),this.Name=t,this.type=3264961684}}t.IfcColourSpecification=$h;t.IfcCompositeProfileDef=class extends bh{constructor(t,e,s,i){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Profiles=s,this.Label=i,this.type=1485152156}};class tc extends Zh{constructor(t){super(),this.CfsFaces=t,this.type=370225590}}t.IfcConnectedFaceSet=tc;t.IfcConnectionCurveGeometry=class extends ch{constructor(t,e){super(),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=e,this.type=1981873012}};t.IfcConnectionPointEccentricity=class extends lh{constructor(t,e,s,i,r){super(t,e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=e,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=r,this.type=45288368}};t.IfcContextDependentUnit=class extends Oh{constructor(t,e,s){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.type=3050246964}};class ec extends Oh{constructor(t,e,s,i){super(t,e),this.Dimensions=t,this.UnitType=e,this.Name=s,this.ConversionFactor=i,this.type=2889183280}}t.IfcConversionBasedUnit=ec;t.IfcConversionBasedUnitWithOffset=class extends ec{constructor(t,e,s,i,r){super(t,e,s,i),this.Dimensions=t,this.UnitType=e,this.Name=s,this.ConversionFactor=i,this.ConversionOffset=r,this.type=2713554722}};t.IfcCurrencyRelationship=class extends Mh{constructor(t,e,s,i,r,n,a){super(t,e),this.Name=t,this.Description=e,this.RelatingMonetaryUnit=s,this.RelatedMonetaryUnit=i,this.ExchangeRate=r,this.RateDateTime=n,this.RateSource=a,this.type=539742890}};t.IfcCurveStyle=class extends vh{constructor(t,e,s,i,r){super(t),this.Name=t,this.CurveFont=e,this.CurveWidth=s,this.CurveColour=i,this.ModelOrDraughting=r,this.type=3800577675}};t.IfcCurveStyleFont=class extends Sh{constructor(t,e){super(),this.Name=t,this.PatternList=e,this.type=1105321065}};t.IfcCurveStyleFontAndScaling=class extends Sh{constructor(t,e,s){super(),this.Name=t,this.CurveStyleFont=e,this.CurveFontScaling=s,this.type=2367409068}};t.IfcCurveStyleFontPattern=class extends Sh{constructor(t,e){super(),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=e,this.type=3510044353}};class sc extends bh{constructor(t,e,s,i,r){super(t,e),this.ProfileType=t,this.ProfileName=e,this.ParentProfile=s,this.Operator=i,this.Label=r,this.type=3632507154}}t.IfcDerivedProfileDef=sc;t.IfcDocumentInformation=class extends Ih{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(),this.Identification=t,this.Name=e,this.Description=s,this.Location=i,this.Purpose=r,this.IntendedUse=n,this.Scope=a,this.Revision=o,this.DocumentOwner=h,this.Editors=c,this.CreationTime=l,this.LastRevisionTime=p,this.ElectronicFormat=u,this.ValidFrom=E,this.ValidUntil=I,this.Confidentiality=y,this.Status=T,this.type=1154170062}};t.IfcDocumentInformationRelationship=class extends Mh{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.RelatingDocument=s,this.RelatedDocuments=i,this.RelationshipType=r,this.type=770865208}};t.IfcDocumentReference=class extends yh{constructor(t,e,s,i,r){super(t,e,s),this.Location=t,this.Identification=e,this.Name=s,this.Description=i,this.ReferencedDocument=r,this.type=3732053477}};class ic extends Zh{constructor(t,e){super(),this.EdgeStart=t,this.EdgeEnd=e,this.type=3900360178}}t.IfcEdge=ic;t.IfcEdgeCurve=class extends ic{constructor(t,e,s,i){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}};t.IfcEventTime=class extends Uh{constructor(t,e,s,i,r,n,a){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.ActualDate=i,this.EarlyDate=r,this.LateDate=n,this.ScheduleDate=a,this.type=211053100}};class rc extends Ph{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Properties=s,this.type=297599258}}t.IfcExtendedProperties=rc;t.IfcExternalReferenceRelationship=class extends Mh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingReference=s,this.RelatedResourceObjects=i,this.type=1437805879}};class nc extends Zh{constructor(t){super(),this.Bounds=t,this.type=2556980723}}t.IfcFace=nc;class ac extends Zh{constructor(t,e){super(),this.Bound=t,this.Orientation=e,this.type=1809719519}}t.IfcFaceBound=ac;t.IfcFaceOuterBound=class extends ac{constructor(t,e){super(t,e),this.Bound=t,this.Orientation=e,this.type=803316827}};class oc extends nc{constructor(t,e,s){super(t),this.Bounds=t,this.FaceSurface=e,this.SameSense=s,this.type=3008276851}}t.IfcFaceSurface=oc;t.IfcFailureConnectionCondition=class extends Gh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.TensionFailureX=e,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=r,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};t.IfcFillAreaStyle=class extends vh{constructor(t,e,s){super(t),this.Name=t,this.FillStyles=e,this.ModelOrDraughting=s,this.type=738692330}};class hc extends xh{constructor(t,e,s,i,r,n){super(t,e),this.ContextIdentifier=t,this.ContextType=e,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=r,this.TrueNorth=n,this.type=3448662350}}t.IfcGeometricRepresentationContext=hc;class cc extends _h{constructor(){super(),this.type=2453401579}}t.IfcGeometricRepresentationItem=cc;t.IfcGeometricRepresentationSubContext=class extends hc{constructor(t,s,i,r,n,a){super(t,s,new e(0),null,new Uu(0),null),this.ContextIdentifier=t,this.ContextType=s,this.ParentContext=i,this.TargetScale=r,this.TargetView=n,this.UserDefinedTargetView=a,this.type=4142052618}};class lc extends cc{constructor(t){super(),this.Elements=t,this.type=3590301190}}t.IfcGeometricSet=lc;t.IfcGridPlacement=class extends Dh{constructor(t,e,s){super(t),this.PlacementRelTo=t,this.PlacementLocation=e,this.PlacementRefDirection=s,this.type=178086475}};class pc extends cc{constructor(t,e){super(),this.BaseSurface=t,this.AgreementFlag=e,this.type=812098782}}t.IfcHalfSpaceSolid=pc;t.IfcImageTexture=class extends Yh{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.URLReference=n,this.type=3905492369}};t.IfcIndexedColourMap=class extends Sh{constructor(t,e,s,i){super(),this.MappedTo=t,this.Opacity=e,this.Colours=s,this.ColourIndex=i,this.type=3570813810}};class uc extends kh{constructor(t,e,s){super(t),this.Maps=t,this.MappedTo=e,this.TexCoords=s,this.type=1437953363}}t.IfcIndexedTextureMap=uc;t.IfcIndexedTriangleTextureMap=class extends uc{constructor(t,e,s,i){super(t,e,s),this.Maps=t,this.MappedTo=e,this.TexCoords=s,this.TexCoordIndex=i,this.type=2133299955}};t.IfcIrregularTimeSeries=class extends Kh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.Values=h,this.type=3741457305}};t.IfcLagTime=class extends Uh{constructor(t,e,s,i,r){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.LagValue=i,this.DurationType=r,this.type=1585845231}};class Ec extends cc{constructor(t,e,s,i){super(),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}t.IfcLightSource=Ec;t.IfcLightSourceAmbient=class extends Ec{constructor(t,e,s,i){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}};t.IfcLightSourceDirectional=class extends Ec{constructor(t,e,s,i,r){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=r,this.type=2604431987}};t.IfcLightSourceGoniometric=class extends Ec{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=o,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class Ic extends Ec{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.type=1520743889}}t.IfcLightSourcePositional=Ic;t.IfcLightSourceSpot=class extends Ic{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.Name=t,this.LightColour=e,this.AmbientIntensity=s,this.Intensity=i,this.Position=r,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=o,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=l,this.SpreadAngle=p,this.BeamWidthAngle=u,this.type=3422422726}};t.IfcLinearPlacement=class extends Dh{constructor(t,e,s){super(t),this.PlacementRelTo=t,this.RelativePlacement=e,this.CartesianPosition=s,this.type=388784114}};t.IfcLocalPlacement=class extends Dh{constructor(t,e){super(t),this.PlacementRelTo=t,this.RelativePlacement=e,this.type=2624227202}};class yc extends Zh{constructor(){super(),this.type=1008929658}}t.IfcLoop=yc;t.IfcMappedItem=class extends _h{constructor(t,e){super(),this.MappingSource=t,this.MappingTarget=e,this.type=2347385850}};t.IfcMaterial=class extends dh{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.Category=s,this.type=1838606355}};t.IfcMaterialConstituent=class extends dh{constructor(t,e,s,i,r){super(),this.Name=t,this.Description=e,this.Material=s,this.Fraction=i,this.Category=r,this.type=3708119e3}};t.IfcMaterialConstituentSet=class extends dh{constructor(t,e,s){super(),this.Name=t,this.Description=e,this.MaterialConstituents=s,this.type=2852063980}};t.IfcMaterialDefinitionRepresentation=class extends Lh{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}};t.IfcMaterialLayerSetUsage=class extends fh{constructor(t,e,s,i,r){super(),this.ForLayerSet=t,this.LayerSetDirection=e,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.ReferenceExtent=r,this.type=1303795690}};class Tc extends fh{constructor(t,e,s){super(),this.ForProfileSet=t,this.CardinalPoint=e,this.ReferenceExtent=s,this.type=3079605661}}t.IfcMaterialProfileSetUsage=Tc;t.IfcMaterialProfileSetUsageTapering=class extends Tc{constructor(t,e,s,i,r){super(t,e,s),this.ForProfileSet=t,this.CardinalPoint=e,this.ReferenceExtent=s,this.ForProfileEndSet=i,this.CardinalEndPoint=r,this.type=3404854881}};t.IfcMaterialProperties=class extends rc{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Properties=s,this.Material=i,this.type=3265635763}};t.IfcMaterialRelationship=class extends Mh{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.RelatingMaterial=s,this.RelatedMaterials=i,this.MaterialExpression=r,this.type=853536259}};t.IfcMirroredProfileDef=class extends sc{constructor(t,e,s,i){super(t,e,s,new Uu(0),i),this.ProfileType=t,this.ProfileName=e,this.ParentProfile=s,this.Label=i,this.type=2998442950}};class dc extends Fh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=219451334}}t.IfcObjectDefinition=dc;t.IfcOpenCrossProfileDef=class extends bh{constructor(t,e,s,i,r,n,a){super(t,e),this.ProfileType=t,this.ProfileName=e,this.HorizontalWidths=s,this.Widths=i,this.Slopes=r,this.Tags=n,this.OffsetPoint=a,this.type=182550632}};t.IfcOpenShell=class extends tc{constructor(t){super(t),this.CfsFaces=t,this.type=2665983363}};t.IfcOrganizationRelationship=class extends Mh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}};t.IfcOrientedEdge=class extends ic{constructor(t,e){super(new Uu(0),new Uu(0)),this.EdgeElement=t,this.Orientation=e,this.type=1029017970}};class Nc extends bh{constructor(t,e,s){super(t,e),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.type=2529465313}}t.IfcParameterizedProfileDef=Nc;t.IfcPath=class extends Zh{constructor(t){super(),this.EdgeList=t,this.type=2519244187}};t.IfcPhysicalComplexQuantity=class extends mh{constructor(t,e,s,i,r,n){super(t,e),this.Name=t,this.Description=e,this.HasQuantities=s,this.Discrimination=i,this.Quality=r,this.Usage=n,this.type=3021840470}};t.IfcPixelTexture=class extends Yh{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r),this.RepeatS=t,this.RepeatT=e,this.Mode=s,this.TextureTransform=i,this.Parameter=r,this.Width=n,this.Height=a,this.ColourComponents=o,this.Pixel=h,this.type=597895409}};class Rc extends cc{constructor(t){super(),this.Location=t,this.type=2004835150}}t.IfcPlacement=Rc;class fc extends cc{constructor(t,e){super(),this.SizeInX=t,this.SizeInY=e,this.type=1663979128}}t.IfcPlanarExtent=fc;class Oc extends cc{constructor(){super(),this.type=2067069095}}t.IfcPoint=Oc;t.IfcPointByDistanceExpression=class extends Oc{constructor(t,e,s,i,r){super(),this.DistanceAlong=t,this.OffsetLateral=e,this.OffsetVertical=s,this.OffsetLongitudinal=i,this.BasisCurve=r,this.type=2165702409}};t.IfcPointOnCurve=class extends Oc{constructor(t,e){super(),this.BasisCurve=t,this.PointParameter=e,this.type=4022376103}};t.IfcPointOnSurface=class extends Oc{constructor(t,e,s){super(),this.BasisSurface=t,this.PointParameterU=e,this.PointParameterV=s,this.type=1423911732}};t.IfcPolyLoop=class extends yc{constructor(t){super(),this.Polygon=t,this.type=2924175390}};t.IfcPolygonalBoundedHalfSpace=class extends pc{constructor(t,e,s,i){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class Dc extends Sh{constructor(t){super(),this.Name=t,this.type=3727388367}}t.IfcPreDefinedItem=Dc;class mc extends Ph{constructor(){super(),this.type=3778827333}}t.IfcPreDefinedProperties=mc;class Ac extends Dc{constructor(t){super(t),this.Name=t,this.type=1775413392}}t.IfcPreDefinedTextFont=Ac;t.IfcProductDefinitionShape=class extends Lh{constructor(t,e,s){super(t,e,s),this.Name=t,this.Description=e,this.Representations=s,this.type=673634403}};t.IfcProfileProperties=class extends rc{constructor(t,e,s,i){super(t,e,s),this.Name=t,this.Description=e,this.Properties=s,this.ProfileDefinition=i,this.type=2802850158}};class Sc extends Ph{constructor(t,e){super(),this.Name=t,this.Specification=e,this.type=2598011224}}t.IfcProperty=Sc;class Cc extends Fh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=1680319473}}t.IfcPropertyDefinition=Cc;t.IfcPropertyDependencyRelationship=class extends Mh{constructor(t,e,s,i,r){super(t,e),this.Name=t,this.Description=e,this.DependingProperty=s,this.DependantProperty=i,this.Expression=r,this.type=148025276}};class vc extends Cc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3357820518}}t.IfcPropertySetDefinition=vc;class Lc extends Cc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=1482703590}}t.IfcPropertyTemplateDefinition=Lc;class bc extends vc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2090586900}}t.IfcQuantitySet=bc;class Pc extends Nc{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.type=3615266464}}t.IfcRectangleProfileDef=Pc;t.IfcRegularTimeSeries=class extends Kh{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.Name=t,this.Description=e,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=r,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=o,this.TimeStep=h,this.Values=c,this.type=3413951693}};t.IfcReinforcementBarProperties=class extends mc{constructor(t,e,s,i,r,n){super(),this.TotalCrossSectionArea=t,this.SteelGrade=e,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=r,this.BarCount=n,this.type=1580146022}};class gc extends Fh{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=478536968}}t.IfcRelationship=gc;t.IfcResourceApprovalRelationship=class extends Mh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatedResourceObjects=s,this.RelatingApproval=i,this.type=2943643501}};t.IfcResourceConstraintRelationship=class extends Mh{constructor(t,e,s,i){super(t,e),this.Name=t,this.Description=e,this.RelatingConstraint=s,this.RelatedResourceObjects=i,this.type=1608871552}};t.IfcResourceTime=class extends Uh{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d){super(t,e,s),this.Name=t,this.DataOrigin=e,this.UserDefinedDataOrigin=s,this.ScheduleWork=i,this.ScheduleUsage=r,this.ScheduleStart=n,this.ScheduleFinish=a,this.ScheduleContour=o,this.LevelingDelay=h,this.IsOverAllocated=c,this.StatusTime=l,this.ActualWork=p,this.ActualUsage=u,this.ActualStart=E,this.ActualFinish=I,this.RemainingWork=y,this.RemainingUsage=T,this.Completion=d,this.type=1042787934}};t.IfcRoundedRectangleProfileDef=class extends Pc{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.RoundingRadius=n,this.type=2778083089}};t.IfcSectionProperties=class extends mc{constructor(t,e,s){super(),this.SectionType=t,this.StartProfile=e,this.EndProfile=s,this.type=2042790032}};t.IfcSectionReinforcementProperties=class extends mc{constructor(t,e,s,i,r,n){super(),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=e,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=r,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};t.IfcSectionedSpine=class extends cc{constructor(t,e,s){super(),this.SpineCurve=t,this.CrossSections=e,this.CrossSectionPositions=s,this.type=1509187699}};class xc extends cc{constructor(t){super(),this.Transition=t,this.type=823603102}}t.IfcSegment=xc;t.IfcShellBasedSurfaceModel=class extends cc{constructor(t){super(),this.SbsmBoundary=t,this.type=4124623270}};class _c extends Sc{constructor(t,e){super(t,e),this.Name=t,this.Specification=e,this.type=3692461612}}t.IfcSimpleProperty=_c;t.IfcSlippageConnectionCondition=class extends Gh{constructor(t,e,s,i){super(t),this.Name=t,this.SlippageX=e,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class Mc extends cc{constructor(){super(),this.type=723233188}}t.IfcSolidModel=Mc;t.IfcStructuralLoadLinearForce=class extends Vh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.LinearForceX=e,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=r,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};t.IfcStructuralLoadPlanarForce=class extends Vh{constructor(t,e,s,i){super(t),this.Name=t,this.PlanarForceX=e,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class Fc extends Vh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}t.IfcStructuralLoadSingleDisplacement=Fc;t.IfcStructuralLoadSingleDisplacementDistortion=class extends Fc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.DisplacementX=e,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=r,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=o,this.type=1973038258}};class Uc extends Vh{constructor(t,e,s,i,r,n,a){super(t),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}t.IfcStructuralLoadSingleForce=Uc;t.IfcStructuralLoadSingleForceWarping=class extends Uc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.Name=t,this.ForceX=e,this.ForceY=s,this.ForceZ=i,this.MomentX=r,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=o,this.type=1190533807}};t.IfcSubedge=class extends ic{constructor(t,e,s){super(t,e),this.EdgeStart=t,this.EdgeEnd=e,this.ParentEdge=s,this.type=2233826070}};class wc extends cc{constructor(){super(),this.type=2513912981}}t.IfcSurface=wc;t.IfcSurfaceStyleRendering=class extends jh{constructor(t,e,s,i,r,n,a,o,h){super(t,e),this.SurfaceColour=t,this.Transparency=e,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=r,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=o,this.ReflectanceMethod=h,this.type=1878645084}};class Gc extends Mc{constructor(t,e){super(),this.SweptArea=t,this.Position=e,this.type=2247615214}}t.IfcSweptAreaSolid=Gc;class Hc extends Mc{constructor(t,e,s,i,r){super(),this.Directrix=t,this.Radius=e,this.InnerRadius=s,this.StartParam=i,this.EndParam=r,this.type=1260650574}}t.IfcSweptDiskSolid=Hc;t.IfcSweptDiskSolidPolygonal=class extends Hc{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.Directrix=t,this.Radius=e,this.InnerRadius=s,this.StartParam=i,this.EndParam=r,this.FilletRadius=n,this.type=1096409881}};class Bc extends wc{constructor(t,e){super(),this.SweptCurve=t,this.Position=e,this.type=230924584}}t.IfcSweptSurface=Bc;t.IfcTShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=l,this.FlangeSlope=p,this.type=3071757647}};class Vc extends cc{constructor(){super(),this.type=901063453}}t.IfcTessellatedItem=Vc;class Wc extends cc{constructor(t,e,s){super(),this.Literal=t,this.Placement=e,this.Path=s,this.type=4282788508}}t.IfcTextLiteral=Wc;t.IfcTextLiteralWithExtent=class extends Wc{constructor(t,e,s,i,r){super(t,e,s),this.Literal=t,this.Placement=e,this.Path=s,this.Extent=i,this.BoxAlignment=r,this.type=3124975700}};t.IfcTextStyleFontModel=class extends Ac{constructor(t,e,s,i,r,n){super(t),this.Name=t,this.FontFamily=e,this.FontStyle=s,this.FontVariant=i,this.FontWeight=r,this.FontSize=n,this.type=1983826977}};t.IfcTrapeziumProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.BottomXDim=i,this.TopXDim=r,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};class jc extends dc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.type=1628702193}}t.IfcTypeObject=jc;class Yc extends jc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.type=3736923433}}t.IfcTypeProcess=Yc;class zc extends jc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.type=2347495698}}t.IfcTypeProduct=zc;class kc extends jc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.type=3698973494}}t.IfcTypeResource=kc;t.IfcUShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.FlangeSlope=c,this.type=427810014}};t.IfcVector=class extends cc{constructor(t,e){super(),this.Orientation=t,this.Magnitude=e,this.type=1417489154}};t.IfcVertexLoop=class extends yc{constructor(t){super(),this.LoopVertex=t,this.type=2759199220}};t.IfcZShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.FlangeWidth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.EdgeRadius=h,this.type=2543172580}};t.IfcAdvancedFace=class extends oc{constructor(t,e,s){super(t,e,s),this.Bounds=t,this.FaceSurface=e,this.SameSense=s,this.type=3406155212}};t.IfcAnnotationFillArea=class extends cc{constructor(t,e){super(),this.OuterBoundary=t,this.InnerBoundaries=e,this.type=669184980}};t.IfcAsymmetricIShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.BottomFlangeWidth=i,this.OverallDepth=r,this.WebThickness=n,this.BottomFlangeThickness=a,this.BottomFlangeFilletRadius=o,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=l,this.BottomFlangeEdgeRadius=p,this.BottomFlangeSlope=u,this.TopFlangeEdgeRadius=E,this.TopFlangeSlope=I,this.type=3207858831}};t.IfcAxis1Placement=class extends Rc{constructor(t,e){super(t),this.Location=t,this.Axis=e,this.type=4261334040}};t.IfcAxis2Placement2D=class extends Rc{constructor(t,e){super(t),this.Location=t,this.RefDirection=e,this.type=3125803723}};t.IfcAxis2Placement3D=class extends Rc{constructor(t,e,s){super(t),this.Location=t,this.Axis=e,this.RefDirection=s,this.type=2740243338}};t.IfcAxis2PlacementLinear=class extends Rc{constructor(t,e,s){super(t),this.Location=t,this.Axis=e,this.RefDirection=s,this.type=3425423356}};class Xc extends cc{constructor(t,e,s){super(),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=2736907675}}t.IfcBooleanResult=Xc;class Kc extends wc{constructor(){super(),this.type=4182860854}}t.IfcBoundedSurface=Kc;t.IfcBoundingBox=class extends cc{constructor(t,e,s,i){super(),this.Corner=t,this.XDim=e,this.YDim=s,this.ZDim=i,this.type=2581212453}};t.IfcBoxedHalfSpace=class extends pc{constructor(t,e,s){super(t,e),this.BaseSurface=t,this.AgreementFlag=e,this.Enclosure=s,this.type=2713105998}};t.IfcCShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=o,this.type=2898889636}};t.IfcCartesianPoint=class extends Oc{constructor(t){super(),this.Coordinates=t,this.type=1123145078}};class Zc extends cc{constructor(){super(),this.type=574549367}}t.IfcCartesianPointList=Zc;t.IfcCartesianPointList2D=class extends Zc{constructor(t,e){super(),this.CoordList=t,this.TagList=e,this.type=1675464909}};t.IfcCartesianPointList3D=class extends Zc{constructor(t,e){super(),this.CoordList=t,this.TagList=e,this.type=2059837836}};class qc extends cc{constructor(t,e,s,i){super(),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}t.IfcCartesianTransformationOperator=qc;class Qc extends qc{constructor(t,e,s,i){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}t.IfcCartesianTransformationOperator2D=Qc;t.IfcCartesianTransformationOperator2DnonUniform=class extends Qc{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Scale2=r,this.type=3486308946}};class Jc extends qc{constructor(t,e,s,i,r){super(t,e,s,i),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.type=3331915920}}t.IfcCartesianTransformationOperator3D=Jc;t.IfcCartesianTransformationOperator3DnonUniform=class extends Jc{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.Axis1=t,this.Axis2=e,this.LocalOrigin=s,this.Scale=i,this.Axis3=r,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class $c extends Nc{constructor(t,e,s,i){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.type=1383045692}}t.IfcCircleProfileDef=$c;t.IfcClosedShell=class extends tc{constructor(t){super(t),this.CfsFaces=t,this.type=2205249479}};t.IfcColourRgb=class extends $h{constructor(t,e,s,i){super(t),this.Name=t,this.Red=e,this.Green=s,this.Blue=i,this.type=776857604}};t.IfcComplexProperty=class extends Sc{constructor(t,e,s,i){super(t,e),this.Name=t,this.Specification=e,this.UsageName=s,this.HasProperties=i,this.type=2542286263}};class tl extends xc{constructor(t,e,s){super(t),this.Transition=t,this.SameSense=e,this.ParentCurve=s,this.type=2485617015}}t.IfcCompositeCurveSegment=tl;class el extends kc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.type=2574617495}}t.IfcConstructionResourceType=el;class sl extends dc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=3419103109}}t.IfcContext=sl;t.IfcCrewResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=1815067380}};class il extends cc{constructor(t){super(),this.Position=t,this.type=2506170314}}t.IfcCsgPrimitive3D=il;t.IfcCsgSolid=class extends Mc{constructor(t){super(),this.TreeRootExpression=t,this.type=2147822146}};class rl extends cc{constructor(){super(),this.type=2601014836}}t.IfcCurve=rl;t.IfcCurveBoundedPlane=class extends Kc{constructor(t,e,s){super(),this.BasisSurface=t,this.OuterBoundary=e,this.InnerBoundaries=s,this.type=2827736869}};t.IfcCurveBoundedSurface=class extends Kc{constructor(t,e,s){super(),this.BasisSurface=t,this.Boundaries=e,this.ImplicitOuter=s,this.type=2629017746}};t.IfcCurveSegment=class extends xc{constructor(t,e,s,i,r){super(t),this.Transition=t,this.Placement=e,this.SegmentStart=s,this.SegmentLength=i,this.ParentCurve=r,this.type=4212018352}};t.IfcDirection=class extends cc{constructor(t){super(),this.DirectionRatios=t,this.type=32440307}};class nl extends Gc{constructor(t,e,s,i,r){super(t,e),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.type=593015953}}t.IfcDirectrixCurveSweptAreaSolid=nl;t.IfcEdgeLoop=class extends yc{constructor(t){super(),this.EdgeList=t,this.type=1472233963}};t.IfcElementQuantity=class extends bc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.MethodOfMeasurement=r,this.Quantities=n,this.type=1883228015}};class al extends zc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=339256511}}t.IfcElementType=al;class ol extends wc{constructor(t){super(),this.Position=t,this.type=2777663545}}t.IfcElementarySurface=ol;t.IfcEllipseProfileDef=class extends Nc{constructor(t,e,s,i,r){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=r,this.type=2835456948}};t.IfcEventType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.EventTriggerType=l,this.UserDefinedEventTriggerType=p,this.type=4024345920}};class hl extends Gc{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}}t.IfcExtrudedAreaSolid=hl;t.IfcExtrudedAreaSolidTapered=class extends hl{constructor(t,e,s,i,r){super(t,e,s,i),this.SweptArea=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.EndSweptArea=r,this.type=2804161546}};t.IfcFaceBasedSurfaceModel=class extends cc{constructor(t){super(),this.FbsmFaces=t,this.type=2047409740}};t.IfcFillAreaStyleHatching=class extends cc{constructor(t,e,s,i,r){super(),this.HatchLineAppearance=t,this.StartOfNextHatchLine=e,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=r,this.type=374418227}};t.IfcFillAreaStyleTiles=class extends cc{constructor(t,e,s){super(),this.TilingPattern=t,this.Tiles=e,this.TilingScale=s,this.type=315944413}};class cl extends nl{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.FixedReference=n,this.type=2652556860}}t.IfcFixedReferenceSweptAreaSolid=cl;class ll extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=4238390223}}t.IfcFurnishingElementType=ll;t.IfcFurnitureType=class extends ll{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.AssemblyPlace=c,this.PredefinedType=l,this.type=1268542332}};t.IfcGeographicElementType=class extends al{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4095422895}};t.IfcGeometricCurveSet=class extends lc{constructor(t){super(t),this.Elements=t,this.type=987898635}};t.IfcIShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.OverallWidth=i,this.OverallDepth=r,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=o,this.FlangeEdgeRadius=h,this.FlangeSlope=c,this.type=1484403080}};class pl extends Vc{constructor(t){super(),this.CoordIndex=t,this.type=178912537}}t.IfcIndexedPolygonalFace=pl;t.IfcIndexedPolygonalFaceWithVoids=class extends pl{constructor(t,e){super(t),this.CoordIndex=t,this.InnerCoordIndices=e,this.type=2294589976}};t.IfcIndexedPolygonalTextureMap=class extends uc{constructor(t,e,s,i){super(t,e,s),this.Maps=t,this.MappedTo=e,this.TexCoords=s,this.TexCoordIndices=i,this.type=3465909080}};t.IfcLShapeProfileDef=class extends Nc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Depth=i,this.Width=r,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=o,this.LegSlope=h,this.type=572779678}};t.IfcLaborResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=428585644}};t.IfcLine=class extends rl{constructor(t,e){super(),this.Pnt=t,this.Dir=e,this.type=1281925730}};class ul extends Mc{constructor(t){super(),this.Outer=t,this.type=1425443689}}t.IfcManifoldSolidBrep=ul;class El extends dc{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=3888040117}}t.IfcObject=El;class Il extends rl{constructor(t){super(),this.BasisCurve=t,this.type=590820931}}t.IfcOffsetCurve=Il;t.IfcOffsetCurve2D=class extends Il{constructor(t,e,s){super(t),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.type=3388369263}};t.IfcOffsetCurve3D=class extends Il{constructor(t,e,s,i){super(t),this.BasisCurve=t,this.Distance=e,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}};t.IfcOffsetCurveByDistances=class extends Il{constructor(t,e,s){super(t),this.BasisCurve=t,this.OffsetValues=e,this.Tag=s,this.type=2485787929}};t.IfcPcurve=class extends rl{constructor(t,e){super(),this.BasisSurface=t,this.ReferenceCurve=e,this.type=1682466193}};t.IfcPlanarBox=class extends fc{constructor(t,e,s){super(t,e),this.SizeInX=t,this.SizeInY=e,this.Placement=s,this.type=603570806}};t.IfcPlane=class extends ol{constructor(t){super(t),this.Position=t,this.type=220341763}};t.IfcPolynomialCurve=class extends rl{constructor(t,e,s,i){super(),this.Position=t,this.CoefficientsX=e,this.CoefficientsY=s,this.CoefficientsZ=i,this.type=3381221214}};class yl extends Dc{constructor(t){super(t),this.Name=t,this.type=759155922}}t.IfcPreDefinedColour=yl;class Tl extends Dc{constructor(t){super(t),this.Name=t,this.type=2559016684}}t.IfcPreDefinedCurveFont=Tl;class dl extends vc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3967405729}}t.IfcPreDefinedPropertySet=dl;t.IfcProcedureType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.type=569719735}};class Nl extends El{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.type=2945172077}}t.IfcProcess=Nl;class Rl extends El{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}t.IfcProduct=Rl;t.IfcProject=class extends sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=103090709}};t.IfcProjectLibrary=class extends sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.Phase=a,this.RepresentationContexts=o,this.UnitsInContext=h,this.type=653396225}};t.IfcPropertyBoundedValue=class extends _c{constructor(t,e,s,i,r,n){super(t,e),this.Name=t,this.Specification=e,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=r,this.SetPointValue=n,this.type=871118103}};t.IfcPropertyEnumeratedValue=class extends _c{constructor(t,e,s,i){super(t,e),this.Name=t,this.Specification=e,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}};t.IfcPropertyListValue=class extends _c{constructor(t,e,s,i){super(t,e),this.Name=t,this.Specification=e,this.ListValues=s,this.Unit=i,this.type=2752243245}};t.IfcPropertyReferenceValue=class extends _c{constructor(t,e,s,i){super(t,e),this.Name=t,this.Specification=e,this.UsageName=s,this.PropertyReference=i,this.type=941946838}};t.IfcPropertySet=class extends vc{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.HasProperties=r,this.type=1451395588}};t.IfcPropertySetTemplate=class extends Lc{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.TemplateType=r,this.ApplicableEntity=n,this.HasPropertyTemplates=a,this.type=492091185}};t.IfcPropertySingleValue=class extends _c{constructor(t,e,s,i){super(t,e),this.Name=t,this.Specification=e,this.NominalValue=s,this.Unit=i,this.type=3650150729}};t.IfcPropertyTableValue=class extends _c{constructor(t,e,s,i,r,n,a,o){super(t,e),this.Name=t,this.Specification=e,this.DefiningValues=s,this.DefinedValues=i,this.Expression=r,this.DefiningUnit=n,this.DefinedUnit=a,this.CurveInterpolation=o,this.type=110355661}};class fl extends Lc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=3521284610}}t.IfcPropertyTemplate=fl;t.IfcRectangleHollowProfileDef=class extends Pc{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.XDim=i,this.YDim=r,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=o,this.type=2770003689}};t.IfcRectangularPyramid=class extends il{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.Height=i,this.type=2798486643}};t.IfcRectangularTrimmedSurface=class extends Kc{constructor(t,e,s,i,r,n,a){super(),this.BasisSurface=t,this.U1=e,this.V1=s,this.U2=i,this.V2=r,this.Usense=n,this.Vsense=a,this.type=3454111270}};t.IfcReinforcementDefinitionProperties=class extends dl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.DefinitionType=r,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class Ol extends gc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.type=3939117080}}t.IfcRelAssigns=Ol;t.IfcRelAssignsToActor=class extends Ol{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=o,this.type=1683148259}};t.IfcRelAssignsToControl=class extends Ol{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}};class Dl extends Ol{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}}t.IfcRelAssignsToGroup=Dl;t.IfcRelAssignsToGroupByFactor=class extends Dl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingGroup=a,this.Factor=o,this.type=1027710054}};t.IfcRelAssignsToProcess=class extends Ol{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=o,this.type=4278684876}};t.IfcRelAssignsToProduct=class extends Ol{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};t.IfcRelAssignsToResource=class extends Ol{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class ml extends gc{constructor(t,e,s,i,r){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.type=1865459582}}t.IfcRelAssociates=ml;t.IfcRelAssociatesApproval=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingApproval=n,this.type=4095574036}};t.IfcRelAssociatesClassification=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingClassification=n,this.type=919958153}};t.IfcRelAssociatesConstraint=class extends ml{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};t.IfcRelAssociatesDocument=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingDocument=n,this.type=982818633}};t.IfcRelAssociatesLibrary=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingLibrary=n,this.type=3840914261}};t.IfcRelAssociatesMaterial=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingMaterial=n,this.type=2655215786}};t.IfcRelAssociatesProfileDef=class extends ml{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingProfileDef=n,this.type=1033248425}};class Al extends gc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=826625072}}t.IfcRelConnects=Al;class Sl extends Al{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}t.IfcRelConnectsElements=Sl;t.IfcRelConnectsPathElements=class extends Sl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=o,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=l,this.type=3945020480}};t.IfcRelConnectsPortToElement=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedElement=n,this.type=4201705270}};t.IfcRelConnectsPorts=class extends Al{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPort=r,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};t.IfcRelConnectsStructuralActivity=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedStructuralActivity=n,this.type=2127690289}};class Cl extends Al{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}t.IfcRelConnectsStructuralMember=Cl;t.IfcRelConnectsWithEccentricity=class extends Cl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingStructuralMember=r,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=o,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=l,this.type=504942748}};t.IfcRelConnectsWithRealizingElements=class extends Sl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ConnectionGeometry=r,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=o,this.ConnectionType=h,this.type=3678494232}};t.IfcRelContainedInSpatialStructure=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=3242617779}};t.IfcRelCoversBldgElements=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedCoverings=n,this.type=886880790}};t.IfcRelCoversSpaces=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedCoverings=n,this.type=2802773753}};t.IfcRelDeclares=class extends gc{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingContext=r,this.RelatedDefinitions=n,this.type=2565941209}};class vl extends gc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=2551354335}}t.IfcRelDecomposes=vl;class Ll extends gc{constructor(t,e,s,i){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.type=693640335}}t.IfcRelDefines=Ll;t.IfcRelDefinesByObject=class extends Ll{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingObject=n,this.type=1462361463}};t.IfcRelDefinesByProperties=class extends Ll{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingPropertyDefinition=n,this.type=4186316022}};t.IfcRelDefinesByTemplate=class extends Ll{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedPropertySets=r,this.RelatingTemplate=n,this.type=307848117}};t.IfcRelDefinesByType=class extends Ll{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedObjects=r,this.RelatingType=n,this.type=781010003}};t.IfcRelFillsElement=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingOpeningElement=r,this.RelatedBuildingElement=n,this.type=3940055652}};t.IfcRelFlowControlElements=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedControlElements=r,this.RelatingFlowElement=n,this.type=279856033}};t.IfcRelInterferesElements=class extends Al{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedElement=n,this.InterferenceGeometry=a,this.InterferenceType=o,this.ImpliedOrder=h,this.InterferenceSpace=c,this.type=427948657}};t.IfcRelNests=class extends vl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=3268803585}};t.IfcRelPositions=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingPositioningElement=r,this.RelatedProducts=n,this.type=1441486842}};t.IfcRelProjectsElement=class extends vl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedFeatureElement=n,this.type=750771296}};t.IfcRelReferencedInSpatialStructure=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatedElements=r,this.RelatingStructure=n,this.type=1245217292}};t.IfcRelSequence=class extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingProcess=r,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=o,this.UserDefinedSequenceType=h,this.type=4122056220}};t.IfcRelServicesBuildings=class extends Al{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSystem=r,this.RelatedBuildings=n,this.type=366585022}};class bl extends Al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.type=3451746338}}t.IfcRelSpaceBoundary=bl;class Pl extends bl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.type=3523091289}}t.IfcRelSpaceBoundary1stLevel=Pl;t.IfcRelSpaceBoundary2ndLevel=class extends Pl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingSpace=r,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.CorrespondingBoundary=l,this.type=1521410863}};t.IfcRelVoidsElement=class extends vl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingBuildingElement=r,this.RelatedOpeningElement=n,this.type=1401173127}};t.IfcReparametrisedCompositeCurveSegment=class extends tl{constructor(t,e,s,i){super(t,e,s),this.Transition=t,this.SameSense=e,this.ParentCurve=s,this.ParamLength=i,this.type=816062949}};class gl extends El{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.type=2914609552}}t.IfcResource=gl;class xl extends Gc{constructor(t,e,s,i){super(t,e),this.SweptArea=t,this.Position=e,this.Axis=s,this.Angle=i,this.type=1856042241}}t.IfcRevolvedAreaSolid=xl;t.IfcRevolvedAreaSolidTapered=class extends xl{constructor(t,e,s,i,r){super(t,e,s,i),this.SweptArea=t,this.Position=e,this.Axis=s,this.Angle=i,this.EndSweptArea=r,this.type=3243963512}};t.IfcRightCircularCone=class extends il{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.BottomRadius=s,this.type=4158566097}};t.IfcRightCircularCylinder=class extends il{constructor(t,e,s){super(t),this.Position=t,this.Height=e,this.Radius=s,this.type=3626867408}};class _l extends Mc{constructor(t,e){super(),this.Directrix=t,this.CrossSections=e,this.type=1862484736}}t.IfcSectionedSolid=_l;t.IfcSectionedSolidHorizontal=class extends _l{constructor(t,e,s){super(t,e),this.Directrix=t,this.CrossSections=e,this.CrossSectionPositions=s,this.type=1290935644}};t.IfcSectionedSurface=class extends wc{constructor(t,e,s){super(),this.Directrix=t,this.CrossSectionPositions=e,this.CrossSections=s,this.type=1356537516}};t.IfcSimplePropertyTemplate=class extends fl{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.TemplateType=r,this.PrimaryMeasureType=n,this.SecondaryMeasureType=a,this.Enumerators=o,this.PrimaryUnit=h,this.SecondaryUnit=c,this.Expression=l,this.AccessState=p,this.type=3663146110}};class Ml extends Rl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.type=1412071761}}t.IfcSpatialElement=Ml;class Fl extends zc{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=710998568}}t.IfcSpatialElementType=Fl;class Ul extends Ml{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.type=2706606064}}t.IfcSpatialStructureElement=Ul;class wl extends Fl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3893378262}}t.IfcSpatialStructureElementType=wl;t.IfcSpatialZone=class extends Ml{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.PredefinedType=h,this.type=463610769}};t.IfcSpatialZoneType=class extends Fl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.LongName=l,this.type=2481509218}};t.IfcSphere=class extends il{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=451544542}};t.IfcSphericalSurface=class extends ol{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=4015995234}};class Gl extends rl{constructor(t){super(),this.Position=t,this.type=2735484536}}t.IfcSpiral=Gl;class Hl extends Rl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3544373492}}t.IfcStructuralActivity=Hl;class Bl extends Rl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}t.IfcStructuralItem=Bl;class Vl extends Bl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}t.IfcStructuralMember=Vl;class Wl extends Hl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=3689010777}}t.IfcStructuralReaction=Wl;class jl extends Vl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.type=3979015343}}t.IfcStructuralSurfaceMember=jl;t.IfcStructuralSurfaceMemberVarying=class extends jl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Thickness=h,this.type=2218152070}};t.IfcStructuralSurfaceReaction=class extends Wl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=603775116}};t.IfcSubContractResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=4095615324}};class Yl extends rl{constructor(t,e,s){super(),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=699246055}}t.IfcSurfaceCurve=Yl;t.IfcSurfaceCurveSweptAreaSolid=class extends nl{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.ReferenceSurface=n,this.type=2028607225}};t.IfcSurfaceOfLinearExtrusion=class extends Bc{constructor(t,e,s,i){super(t,e),this.SweptCurve=t,this.Position=e,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}};t.IfcSurfaceOfRevolution=class extends Bc{constructor(t,e,s){super(t,e),this.SweptCurve=t,this.Position=e,this.AxisPosition=s,this.type=4124788165}};t.IfcSystemFurnitureElementType=class extends ll{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1580310250}};t.IfcTask=class extends Nl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Status=o,this.WorkMethod=h,this.IsMilestone=c,this.Priority=l,this.TaskTime=p,this.PredefinedType=u,this.type=3473067441}};t.IfcTaskType=class extends Yc{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ProcessType=h,this.PredefinedType=c,this.WorkMethod=l,this.type=3206491090}};class zl extends Vc{constructor(t){super(),this.Coordinates=t,this.type=2387106220}}t.IfcTessellatedFaceSet=zl;t.IfcThirdOrderPolynomialSpiral=class extends Gl{constructor(t,e,s,i,r){super(t),this.Position=t,this.CubicTerm=e,this.QuadraticTerm=s,this.LinearTerm=i,this.ConstantTerm=r,this.type=782932809}};t.IfcToroidalSurface=class extends ol{constructor(t,e,s){super(t),this.Position=t,this.MajorRadius=e,this.MinorRadius=s,this.type=1935646853}};class kl extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3665877780}}t.IfcTransportationDeviceType=kl;class Xl extends zl{constructor(t,e,s,i,r){super(t),this.Coordinates=t,this.Normals=e,this.Closed=s,this.CoordIndex=i,this.PnIndex=r,this.type=2916149573}}t.IfcTriangulatedFaceSet=Xl;t.IfcTriangulatedIrregularNetwork=class extends Xl{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.Coordinates=t,this.Normals=e,this.Closed=s,this.CoordIndex=i,this.PnIndex=r,this.Flags=n,this.type=1229763772}};t.IfcVehicleType=class extends kl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3651464721}};t.IfcWindowLiningProperties=class extends dl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=o,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=l,this.SecondMullionOffset=p,this.ShapeAspectStyle=u,this.LiningOffset=E,this.LiningToPanelOffsetX=I,this.LiningToPanelOffsetY=y,this.type=336235671}};t.IfcWindowPanelProperties=class extends dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=512836454}};class Kl extends El{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.type=2296667514}}t.IfcActor=Kl;class Zl extends ul{constructor(t){super(t),this.Outer=t,this.type=1635779807}}t.IfcAdvancedBrep=Zl;t.IfcAdvancedBrepWithVoids=class extends Zl{constructor(t,e){super(t),this.Outer=t,this.Voids=e,this.type=2603310189}};t.IfcAnnotation=class extends Rl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.type=1674181508}};class ql extends Kc{constructor(t,e,s,i,r,n,a){super(),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.type=2887950389}}t.IfcBSplineSurface=ql;class Ql extends ql{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=o,this.VMultiplicities=h,this.UKnots=c,this.VKnots=l,this.KnotSpec=p,this.type=167062518}}t.IfcBSplineSurfaceWithKnots=Ql;t.IfcBlock=class extends il{constructor(t,e,s,i){super(t),this.Position=t,this.XLength=e,this.YLength=s,this.ZLength=i,this.type=1334484129}};t.IfcBooleanClippingResult=class extends Xc{constructor(t,e,s){super(t,e,s),this.Operator=t,this.FirstOperand=e,this.SecondOperand=s,this.type=3649129432}};class Jl extends rl{constructor(){super(),this.type=1260505505}}t.IfcBoundedCurve=Jl;t.IfcBuildingStorey=class extends Ul{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};class $l extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1626504194}}t.IfcBuiltElementType=$l;t.IfcChimneyType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2197970202}};t.IfcCircleHollowProfileDef=class extends $c{constructor(t,e,s,i,r){super(t,e,s,i),this.ProfileType=t,this.ProfileName=e,this.Position=s,this.Radius=i,this.WallThickness=r,this.type=2937912522}};t.IfcCivilElementType=class extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3893394355}};t.IfcClothoid=class extends Gl{constructor(t,e){super(t),this.Position=t,this.ClothoidConstant=e,this.type=3497074424}};t.IfcColumnType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};t.IfcComplexPropertyTemplate=class extends fl{constructor(t,e,s,i,r,n,a){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.UsageName=r,this.TemplateType=n,this.HasPropertyTemplates=a,this.type=3875453745}};class tp extends Jl{constructor(t,e){super(),this.Segments=t,this.SelfIntersect=e,this.type=3732776249}}t.IfcCompositeCurve=tp;class ep extends tp{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=15328376}}t.IfcCompositeCurveOnSurface=ep;class sp extends rl{constructor(t){super(),this.Position=t,this.type=2510884976}}t.IfcConic=sp;t.IfcConstructionEquipmentResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=2185764099}};t.IfcConstructionMaterialResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=4105962743}};t.IfcConstructionProductResourceType=class extends el{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.Identification=a,this.LongDescription=o,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=l,this.PredefinedType=p,this.type=1525564444}};class ip extends gl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.type=2559216714}}t.IfcConstructionResource=ip;class rp extends El{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.type=3293443760}}t.IfcControl=rp;t.IfcCosineSpiral=class extends Gl{constructor(t,e,s){super(t),this.Position=t,this.CosineTerm=e,this.ConstantTerm=s,this.type=2000195564}};t.IfcCostItem=class extends rp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.CostValues=o,this.CostQuantities=h,this.type=3895139033}};t.IfcCostSchedule=class extends rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.SubmittedOn=h,this.UpdateDate=c,this.type=1419761937}};t.IfcCourseType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4189326743}};t.IfcCoveringType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};t.IfcCrewResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3295246426}};t.IfcCurtainWallType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};t.IfcCylindricalSurface=class extends ol{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=1213902940}};class np extends $l{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1306400036}}t.IfcDeepFoundationType=np;t.IfcDirectrixDerivedReferenceSweptAreaSolid=class extends cl{constructor(t,e,s,i,r,n){super(t,e,s,i,r,n),this.SweptArea=t,this.Position=e,this.Directrix=s,this.StartParam=i,this.EndParam=r,this.FixedReference=n,this.type=4234616927}};class ap extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3256556792}}t.IfcDistributionElementType=ap;class op extends ap{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3849074793}}t.IfcDistributionFlowElementType=op;t.IfcDoorLiningProperties=class extends dl{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.LiningDepth=r,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=o,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=l,this.ThresholdOffset=p,this.CasingThickness=u,this.CasingDepth=E,this.ShapeAspectStyle=I,this.LiningToPanelOffsetX=y,this.LiningToPanelOffsetY=T,this.type=2963535650}};t.IfcDoorPanelProperties=class extends dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.PanelDepth=r,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=o,this.ShapeAspectStyle=h,this.type=1714330368}};t.IfcDoorType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.OperationType=l,this.ParameterTakesPrecedence=p,this.UserDefinedOperationType=u,this.type=2323601079}};t.IfcDraughtingPreDefinedColour=class extends yl{constructor(t){super(t),this.Name=t,this.type=445594917}};t.IfcDraughtingPreDefinedCurveFont=class extends Tl{constructor(t){super(t),this.Name=t,this.type=4006246654}};class hp extends Rl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1758889154}}t.IfcElement=hp;t.IfcElementAssembly=class extends hp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};t.IfcElementAssemblyType=class extends al{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2397081782}};class cp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1623761950}}t.IfcElementComponent=cp;class lp extends al{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2590856083}}t.IfcElementComponentType=lp;t.IfcEllipse=class extends sp{constructor(t,e,s){super(t),this.Position=t,this.SemiAxis1=e,this.SemiAxis2=s,this.type=1704287377}};class pp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2107101300}}t.IfcEnergyConversionDeviceType=pp;t.IfcEngineType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=132023988}};t.IfcEvaporativeCoolerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};t.IfcEvaporatorType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};t.IfcEvent=class extends Nl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.PredefinedType=o,this.EventTriggerType=h,this.UserDefinedEventTriggerType=c,this.EventOccurenceTime=l,this.type=4148101412}};class up extends Ml{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.type=2853485674}}t.IfcExternalSpatialStructureElement=up;class Ep extends ul{constructor(t){super(t),this.Outer=t,this.type=807026263}}t.IfcFacetedBrep=Ep;t.IfcFacetedBrepWithVoids=class extends Ep{constructor(t,e){super(t),this.Outer=t,this.Voids=e,this.type=3737207727}};class Ip extends Ul{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.type=24185140}}t.IfcFacility=Ip;class yp extends Ul{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.type=1310830890}}t.IfcFacilityPart=yp;t.IfcFacilityPartCommon=class extends yp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.PredefinedType=l,this.type=4228831410}};t.IfcFastener=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=647756555}};t.IfcFastenerType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2489546625}};class Tp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2827207264}}t.IfcFeatureElement=Tp;class dp extends Tp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2143335405}}t.IfcFeatureElementAddition=dp;class Np extends Tp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1287392070}}t.IfcFeatureElementSubtraction=Np;class Rp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3907093117}}t.IfcFlowControllerType=Rp;class fp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3198132628}}t.IfcFlowFittingType=fp;t.IfcFlowMeterType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class Op extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1482959167}}t.IfcFlowMovingDeviceType=Op;class Dp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1834744321}}t.IfcFlowSegmentType=Dp;class mp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=1339347760}}t.IfcFlowStorageDeviceType=mp;class Ap extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2297155007}}t.IfcFlowTerminalType=Ap;class Sp extends op{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=3009222698}}t.IfcFlowTreatmentDeviceType=Sp;t.IfcFootingType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1893162501}};class Cp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=263784265}}t.IfcFurnishingElement=Cp;t.IfcFurniture=class extends Cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1509553395}};t.IfcGeographicElement=class extends hp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3493046030}};class vp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=4230923436}}t.IfcGeotechnicalElement=vp;t.IfcGeotechnicalStratum=class extends vp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1594536857}};t.IfcGradientCurve=class extends tp{constructor(t,e,s,i){super(t,e),this.Segments=t,this.SelfIntersect=e,this.BaseCurve=s,this.EndPoint=i,this.type=2898700619}};class Lp extends El{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2706460486}}t.IfcGroup=Lp;t.IfcHeatExchangerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};t.IfcHumidifierType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};t.IfcImpactProtectionDevice=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2568555532}};t.IfcImpactProtectionDeviceType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3948183225}};t.IfcIndexedPolyCurve=class extends Jl{constructor(t,e,s){super(),this.Points=t,this.Segments=e,this.SelfIntersect=s,this.type=2571569899}};t.IfcInterceptorType=class extends Sp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3946677679}};t.IfcIntersectionCurve=class extends Yl{constructor(t,e,s){super(t,e,s),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=3113134337}};t.IfcInventory=class extends Lp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.Jurisdiction=a,this.ResponsiblePersons=o,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=l,this.type=2391368822}};t.IfcJunctionBoxType=class extends fp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};t.IfcKerbType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=679976338}};t.IfcLaborResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3827777499}};t.IfcLampType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};t.IfcLightFixtureType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};class bp extends Rl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=2176059722}}t.IfcLinearElement=bp;t.IfcLiquidTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1770583370}};t.IfcMarineFacility=class extends Ip{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.type=525669439}};t.IfcMarinePart=class extends yp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.PredefinedType=l,this.type=976884017}};t.IfcMechanicalFastener=class extends cp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NominalDiameter=h,this.NominalLength=c,this.PredefinedType=l,this.type=377706215}};t.IfcMechanicalFastenerType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.NominalLength=p,this.type=2108223431}};t.IfcMedicalDeviceType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1114901282}};t.IfcMemberType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};t.IfcMobileTelecommunicationsApplianceType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1950438474}};t.IfcMooringDeviceType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=710110818}};t.IfcMotorConnectionType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};t.IfcNavigationElementType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=506776471}};t.IfcOccupant=class extends Kl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};t.IfcOpeningElement=class extends Np{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3588315303}};t.IfcOutletType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};t.IfcPavementType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=514975943}};t.IfcPerformanceHistory=class extends rp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LifeCyclePhase=a,this.PredefinedType=o,this.type=2382730787}};t.IfcPermeableCoveringProperties=class extends dl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.OperationType=r,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=o,this.ShapeAspectStyle=h,this.type=3566463478}};t.IfcPermit=class extends rp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=3327091369}};t.IfcPileType=class extends np{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1158309216}};t.IfcPipeFittingType=class extends fp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};t.IfcPipeSegmentType=class extends Dp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};t.IfcPlateType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};t.IfcPolygonalFaceSet=class extends zl{constructor(t,e,s,i){super(t),this.Coordinates=t,this.Closed=e,this.Faces=s,this.PnIndex=i,this.type=2839578677}};t.IfcPolyline=class extends Jl{constructor(t){super(),this.Points=t,this.type=3724593414}};class Pp extends Rl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}t.IfcPort=Pp;class gp extends Rl{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1946335990}}t.IfcPositioningElement=gp;t.IfcProcedure=class extends Nl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.PredefinedType=o,this.type=2744685151}};t.IfcProjectOrder=class extends rp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=2904328755}};t.IfcProjectionElement=class extends dp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3651124850}};t.IfcProtectiveDeviceType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};t.IfcPumpType=class extends Op{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};t.IfcRailType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1763565496}};t.IfcRailingType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};t.IfcRailway=class extends Ip{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.type=3992365140}};t.IfcRailwayPart=class extends yp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.PredefinedType=l,this.type=1891881377}};t.IfcRampFlightType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};t.IfcRampType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1469900589}};t.IfcRationalBSplineSurfaceWithKnots=class extends Ql{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h,c,l,p),this.UDegree=t,this.VDegree=e,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=r,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=o,this.VMultiplicities=h,this.UKnots=c,this.VKnots=l,this.KnotSpec=p,this.WeightsData=u,this.type=683857671}};t.IfcReferent=class extends gp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.type=4021432810}};class xp extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.type=3027567501}}t.IfcReinforcingElement=xp;class _p extends lp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=964333572}}t.IfcReinforcingElementType=_p;t.IfcReinforcingMesh=class extends xp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=l,this.LongitudinalBarNominalDiameter=p,this.TransverseBarNominalDiameter=u,this.LongitudinalBarCrossSectionArea=E,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=y,this.TransverseBarSpacing=T,this.PredefinedType=d,this.type=2320036040}};t.IfcReinforcingMeshType=class extends _p{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T,d,N,R){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.MeshLength=l,this.MeshWidth=p,this.LongitudinalBarNominalDiameter=u,this.TransverseBarNominalDiameter=E,this.LongitudinalBarCrossSectionArea=I,this.TransverseBarCrossSectionArea=y,this.LongitudinalBarSpacing=T,this.TransverseBarSpacing=d,this.BendingShapeCode=N,this.BendingParameters=R,this.type=2310774935}};t.IfcRelAdheresToElement=class extends vl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingElement=r,this.RelatedSurfaceFeatures=n,this.type=3818125796}};t.IfcRelAggregates=class extends vl{constructor(t,e,s,i,r,n){super(t,e,s,i),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.RelatingObject=r,this.RelatedObjects=n,this.type=160246688}};t.IfcRoad=class extends Ip{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.type=146592293}};t.IfcRoadPart=class extends yp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.PredefinedType=l,this.type=550521510}};t.IfcRoofType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2781568857}};t.IfcSanitaryTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};t.IfcSeamCurve=class extends Yl{constructor(t,e,s){super(t,e,s),this.Curve3D=t,this.AssociatedGeometry=e,this.MasterRepresentation=s,this.type=2157484638}};t.IfcSecondOrderPolynomialSpiral=class extends Gl{constructor(t,e,s,i){super(t),this.Position=t,this.QuadraticTerm=e,this.LinearTerm=s,this.ConstantTerm=i,this.type=3649235739}};t.IfcSegmentedReferenceCurve=class extends tp{constructor(t,e,s,i){super(t,e),this.Segments=t,this.SelfIntersect=e,this.BaseCurve=s,this.EndPoint=i,this.type=544395925}};t.IfcSeventhOrderPolynomialSpiral=class extends Gl{constructor(t,e,s,i,r,n,a,o,h){super(t),this.Position=t,this.SepticTerm=e,this.SexticTerm=s,this.QuinticTerm=i,this.QuarticTerm=r,this.CubicTerm=n,this.QuadraticTerm=a,this.LinearTerm=o,this.ConstantTerm=h,this.type=1027922057}};t.IfcShadingDeviceType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4074543187}};t.IfcSign=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=33720170}};t.IfcSignType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3599934289}};t.IfcSignalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1894708472}};t.IfcSineSpiral=class extends Gl{constructor(t,e,s,i){super(t),this.Position=t,this.SineTerm=e,this.LinearTerm=s,this.ConstantTerm=i,this.type=42703149}};t.IfcSite=class extends Ul{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=l,this.RefElevation=p,this.LandTitleNumber=u,this.SiteAddress=E,this.type=4097777520}};t.IfcSlabType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};t.IfcSolarDeviceType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1072016465}};t.IfcSpace=class extends Ul{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.ElevationWithFlooring=l,this.type=3856911033}};t.IfcSpaceHeaterType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};t.IfcSpaceType=class extends wl{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.LongName=l,this.type=3812236995}};t.IfcStackTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};t.IfcStairFlightType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};t.IfcStairType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=338393293}};class Mp extends Hl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=682877961}}t.IfcStructuralAction=Mp;class Fp extends Bl{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1179482911}}t.IfcStructuralConnection=Fp;class Up extends Mp{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1004757350}}t.IfcStructuralCurveAction=Up;t.IfcStructuralCurveConnection=class extends Fp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.AxisDirection=h,this.type=4243806635}};class wp extends Vl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Axis=h,this.type=214636428}}t.IfcStructuralCurveMember=wp;t.IfcStructuralCurveMemberVarying=class extends wp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.Axis=h,this.type=2445595289}};t.IfcStructuralCurveReaction=class extends Wl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=2757150158}};t.IfcStructuralLinearAction=class extends Up{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1807405624}};class Gp extends Lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.ActionType=a,this.ActionSource=o,this.Coefficient=h,this.Purpose=c,this.type=1252848954}}t.IfcStructuralLoadGroup=Gp;t.IfcStructuralPointAction=class extends Mp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=2082059205}};t.IfcStructuralPointConnection=class extends Fp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.ConditionCoordinateSystem=h,this.type=734778138}};t.IfcStructuralPointReaction=class extends Wl{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.type=1235345126}};t.IfcStructuralResultGroup=class extends Lp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=o,this.type=2986769608}};class Hp extends Mp{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=3657597509}}t.IfcStructuralSurfaceAction=Hp;t.IfcStructuralSurfaceConnection=class extends Fp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=o,this.type=1975003073}};t.IfcSubContractResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=148013059}};t.IfcSurfaceFeature=class extends Tp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3101698114}};t.IfcSwitchingDeviceType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class Bp extends Lp{constructor(t,e,s,i,r){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.type=2254336722}}t.IfcSystem=Bp;t.IfcSystemFurnitureElement=class extends Cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=413509423}};t.IfcTankType=class extends mp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};t.IfcTendon=class extends xp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y,T){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.TensionForce=u,this.PreStress=E,this.FrictionCoefficient=I,this.AnchorageSlip=y,this.MinCurvatureRadius=T,this.type=3824725483}};t.IfcTendonAnchor=class extends xp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.type=2347447852}};t.IfcTendonAnchorType=class extends _p{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3081323446}};t.IfcTendonConduit=class extends xp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.PredefinedType=c,this.type=3663046924}};t.IfcTendonConduitType=class extends _p{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2281632017}};t.IfcTendonType=class extends _p{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.SheathDiameter=u,this.type=2415094496}};t.IfcTrackElementType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=618700268}};t.IfcTransformerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};t.IfcTransportElementType=class extends kl{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};class Vp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1953115116}}t.IfcTransportationDevice=Vp;t.IfcTrimmedCurve=class extends Jl{constructor(t,e,s,i,r){super(),this.BasisCurve=t,this.Trim1=e,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=r,this.type=3593883385}};t.IfcTubeBundleType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};t.IfcUnitaryEquipmentType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};t.IfcValveType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};t.IfcVehicle=class extends Vp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=840318589}};t.IfcVibrationDamper=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1530820697}};t.IfcVibrationDamperType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3956297820}};t.IfcVibrationIsolator=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2391383451}};t.IfcVibrationIsolatorType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};t.IfcVirtualElement=class extends hp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2769231204}};t.IfcVoidingFeature=class extends Np{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=926996030}};t.IfcWallType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};t.IfcWasteTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};t.IfcWindowType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.PartitioningType=l,this.ParameterTakesPrecedence=p,this.UserDefinedPartitioningType=u,this.type=4009809668}};t.IfcWorkCalendar=class extends rp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.WorkingTimes=a,this.ExceptionTimes=o,this.PredefinedType=h,this.type=4088093105}};class Wp extends rp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.type=1028945134}}t.IfcWorkControl=Wp;t.IfcWorkPlan=class extends Wp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.PredefinedType=E,this.type=4218914973}};t.IfcWorkSchedule=class extends Wp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h,c,l,p,u),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.CreationDate=a,this.Creators=o,this.Purpose=h,this.Duration=c,this.TotalFloat=l,this.StartTime=p,this.FinishTime=u,this.PredefinedType=E,this.type=3342526732}};t.IfcZone=class extends Bp{constructor(t,e,s,i,r,n){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.type=1033361043}};t.IfcActionRequest=class extends rp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.PredefinedType=a,this.Status=o,this.LongDescription=h,this.type=3821786052}};t.IfcAirTerminalBoxType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};t.IfcAirTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};t.IfcAirToAirHeatRecoveryType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};t.IfcAlignmentCant=class extends bp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.RailHeadDistance=o,this.type=4266260250}};t.IfcAlignmentHorizontal=class extends bp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1545765605}};t.IfcAlignmentSegment=class extends bp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.DesignParameters=o,this.type=317615605}};t.IfcAlignmentVertical=class extends bp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1662888072}};t.IfcAsset=class extends Lp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.OriginalValue=a,this.CurrentValue=o,this.TotalReplacementCost=h,this.Owner=c,this.User=l,this.ResponsiblePerson=p,this.IncorporationDate=u,this.DepreciatedValue=E,this.type=3460190687}};t.IfcAudioVisualApplianceType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1532957894}};class jp extends Jl{constructor(t,e,s,i,r){super(),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.type=1967976161}}t.IfcBSplineCurve=jp;class Yp extends jp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=o,this.type=2461110595}}t.IfcBSplineCurveWithKnots=Yp;t.IfcBeamType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};t.IfcBearingType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3649138523}};t.IfcBoilerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class zp extends ep{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=1136057603}}t.IfcBoundaryCurve=zp;t.IfcBridge=class extends Ip{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.PredefinedType=c,this.type=644574406}};t.IfcBridgePart=class extends yp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.UsageType=c,this.PredefinedType=l,this.type=963979645}};t.IfcBuilding=class extends Ip{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=l,this.BuildingAddress=p,this.type=4031249490}};t.IfcBuildingElementPart=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2979338954}};t.IfcBuildingElementPartType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=39481116}};t.IfcBuildingElementProxyType=class extends $l{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};t.IfcBuildingSystem=class extends Bp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.LongName=a,this.type=1177604601}};class kp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1876633798}}t.IfcBuiltElement=kp;t.IfcBuiltSystem=class extends Bp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.LongName=a,this.type=3862327254}};t.IfcBurnerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2188180465}};t.IfcCableCarrierFittingType=class extends fp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};t.IfcCableCarrierSegmentType=class extends Dp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};t.IfcCableFittingType=class extends fp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2674252688}};t.IfcCableSegmentType=class extends Dp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};t.IfcCaissonFoundationType=class extends np{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3203706013}};t.IfcChillerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};t.IfcChimney=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3296154744}};t.IfcCircle=class extends sp{constructor(t,e){super(t),this.Position=t,this.Radius=e,this.type=2611217952}};t.IfcCivilElement=class extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1677625105}};t.IfcCoilType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};t.IfcColumn=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=843113511}};t.IfcCommunicationsApplianceType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=400855858}};t.IfcCompressorType=class extends Op{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};t.IfcCondenserType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};t.IfcConstructionEquipmentResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=3898045240}};t.IfcConstructionMaterialResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=1060000209}};t.IfcConstructionProductResource=class extends ip{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.Identification=n,this.LongDescription=a,this.Usage=o,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=l,this.type=488727124}};t.IfcConveyorSegmentType=class extends Dp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2940368186}};t.IfcCooledBeamType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};t.IfcCoolingTowerType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};t.IfcCourse=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1502416096}};t.IfcCovering=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1973544240}};t.IfcCurtainWall=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3495092785}};t.IfcDamperType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};class Xp extends kp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3426335179}}t.IfcDeepFoundation=Xp;t.IfcDiscreteAccessory=class extends cp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1335981549}};t.IfcDiscreteAccessoryType=class extends lp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2635815018}};t.IfcDistributionBoardType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=479945903}};t.IfcDistributionChamberElementType=class extends op{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class Kp extends ap{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.type=2063403501}}t.IfcDistributionControlElementType=Kp;class Zp extends hp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1945004755}}t.IfcDistributionElement=Zp;class qp extends Zp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3040386961}}t.IfcDistributionFlowElement=qp;t.IfcDistributionPort=class extends Pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=o,this.PredefinedType=h,this.SystemType=c,this.type=3041715199}};class Qp extends Bp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.PredefinedType=a,this.type=3205830791}}t.IfcDistributionSystem=Qp;t.IfcDoor=class extends kp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.OperationType=p,this.UserDefinedOperationType=u,this.type=395920057}};t.IfcDuctFittingType=class extends fp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};t.IfcDuctSegmentType=class extends Dp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};t.IfcDuctSilencerType=class extends Sp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};t.IfcEarthworksCut=class extends Np{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3071239417}};class Jp extends kp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1077100507}}t.IfcEarthworksElement=Jp;t.IfcEarthworksFill=class extends Jp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3376911765}};t.IfcElectricApplianceType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};t.IfcElectricDistributionBoardType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2417008758}};t.IfcElectricFlowStorageDeviceType=class extends mp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};t.IfcElectricFlowTreatmentDeviceType=class extends Sp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2142170206}};t.IfcElectricGeneratorType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};t.IfcElectricMotorType=class extends pp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};t.IfcElectricTimeControlType=class extends Rp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};class $p extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1658829314}}t.IfcEnergyConversionDevice=$p;t.IfcEngine=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2814081492}};t.IfcEvaporativeCooler=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3747195512}};t.IfcEvaporator=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=484807127}};t.IfcExternalSpatialElement=class extends up{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.LongName=o,this.PredefinedType=h,this.type=1209101575}};t.IfcFanType=class extends Op{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};t.IfcFilterType=class extends Sp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};t.IfcFireSuppressionTerminalType=class extends Ap{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class tu extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2058353004}}t.IfcFlowController=tu;class eu extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=4278956645}}t.IfcFlowFitting=eu;t.IfcFlowInstrumentType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};t.IfcFlowMeter=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2188021234}};class su extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3132237377}}t.IfcFlowMovingDevice=su;class iu extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=987401354}}t.IfcFlowSegment=iu;class ru extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=707683696}}t.IfcFlowStorageDevice=ru;class nu extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2223149337}}t.IfcFlowTerminal=nu;class au extends qp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3508470533}}t.IfcFlowTreatmentDevice=au;t.IfcFooting=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=900683007}};class ou extends vp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2713699986}}t.IfcGeotechnicalAssembly=ou;t.IfcGrid=class extends gp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.UAxes=o,this.VAxes=h,this.WAxes=c,this.PredefinedType=l,this.type=3009204131}};t.IfcHeatExchanger=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3319311131}};t.IfcHumidifier=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2068733104}};t.IfcInterceptor=class extends au{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4175244083}};t.IfcJunctionBox=class extends eu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2176052936}};t.IfcKerb=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2696325953}};t.IfcLamp=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=76236018}};t.IfcLightFixture=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=629592764}};class hu extends gp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.type=1154579445}}t.IfcLinearPositioningElement=hu;t.IfcLiquidTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1638804497}};t.IfcMedicalDevice=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1437502449}};t.IfcMember=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1073191201}};t.IfcMobileTelecommunicationsAppliance=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2078563270}};t.IfcMooringDevice=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=234836483}};t.IfcMotorConnection=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2474470126}};t.IfcNavigationElement=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2182337498}};t.IfcOuterBoundaryCurve=class extends zp{constructor(t,e){super(t,e),this.Segments=t,this.SelfIntersect=e,this.type=144952367}};t.IfcOutlet=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3694346114}};t.IfcPavement=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1383356374}};t.IfcPile=class extends Xp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};t.IfcPipeFitting=class extends eu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=310824031}};t.IfcPipeSegment=class extends iu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3612865200}};t.IfcPlate=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3171933400}};t.IfcProtectiveDevice=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=738039164}};t.IfcProtectiveDeviceTrippingUnitType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=655969474}};t.IfcPump=class extends su{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=90941305}};t.IfcRail=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3290496277}};t.IfcRailing=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2262370178}};t.IfcRamp=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3024970846}};t.IfcRampFlight=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3283111854}};t.IfcRationalBSplineCurveWithKnots=class extends Yp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.Degree=t,this.ControlPointsList=e,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=r,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=o,this.WeightsData=h,this.type=1232101972}};t.IfcReinforcedSoil=class extends Jp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3798194928}};t.IfcReinforcingBar=class extends xp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=l,this.BarLength=p,this.PredefinedType=u,this.BarSurface=E,this.type=979691226}};t.IfcReinforcingBarType=class extends _p{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u,E,I,y){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=l,this.CrossSectionArea=p,this.BarLength=u,this.BarSurface=E,this.BendingShapeCode=I,this.BendingParameters=y,this.type=2572171363}};t.IfcRoof=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2016517767}};t.IfcSanitaryTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3053780830}};t.IfcSensorType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};t.IfcShadingDevice=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1329646415}};t.IfcSignal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=991950508}};t.IfcSlab=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1529196076}};t.IfcSolarDevice=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3420628829}};t.IfcSpaceHeater=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1999602285}};t.IfcStackTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1404847402}};t.IfcStair=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=331165859}};t.IfcStairFlight=class extends kp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.NumberOfRisers=h,this.NumberOfTreads=c,this.RiserHeight=l,this.TreadLength=p,this.PredefinedType=u,this.type=4252922144}};t.IfcStructuralAnalysisModel=class extends Bp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=o,this.HasResults=h,this.SharedPlacement=c,this.type=2515109513}};t.IfcStructuralLoadCase=class extends Gp{constructor(t,e,s,i,r,n,a,o,h,c,l){super(t,e,s,i,r,n,a,o,h,c),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.PredefinedType=n,this.ActionType=a,this.ActionSource=o,this.Coefficient=h,this.Purpose=c,this.SelfWeightCoefficients=l,this.type=385403989}};t.IfcStructuralPlanarAction=class extends Hp{constructor(t,e,s,i,r,n,a,o,h,c,l,p){super(t,e,s,i,r,n,a,o,h,c,l,p),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=o,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=l,this.PredefinedType=p,this.type=1621171031}};t.IfcSwitchingDevice=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1162798199}};t.IfcTank=class extends ru{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=812556717}};t.IfcTrackElement=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3425753595}};t.IfcTransformer=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3825984169}};t.IfcTransportElement=class extends Vp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1620046519}};t.IfcTubeBundle=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3026737570}};t.IfcUnitaryControlElementType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3179687236}};t.IfcUnitaryEquipment=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4292641817}};t.IfcValve=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4207607924}};class cu extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2391406946}}t.IfcWall=cu;t.IfcWallStandardCase=class extends cu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3512223829}};t.IfcWasteTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4237592921}};t.IfcWindow=class extends kp{constructor(t,e,s,i,r,n,a,o,h,c,l,p,u){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=l,this.PartitioningType=p,this.UserDefinedPartitioningType=u,this.type=3304561284}};t.IfcActuatorType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};t.IfcAirTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1634111441}};t.IfcAirTerminalBox=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=177149247}};t.IfcAirToAirHeatRecovery=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2056796094}};t.IfcAlarmType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};t.IfcAlignment=class extends hu{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=o,this.type=325726236}};t.IfcAudioVisualAppliance=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=277319702}};t.IfcBeam=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=753842376}};t.IfcBearing=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4196446775}};t.IfcBoiler=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=32344328}};t.IfcBorehole=class extends ou{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=3314249567}};t.IfcBuildingElementProxy=class extends kp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1095909175}};t.IfcBurner=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2938176219}};t.IfcCableCarrierFitting=class extends eu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=635142910}};t.IfcCableCarrierSegment=class extends iu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3758799889}};t.IfcCableFitting=class extends eu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1051757585}};t.IfcCableSegment=class extends iu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4217484030}};t.IfcCaissonFoundation=class extends Xp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3999819293}};t.IfcChiller=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3902619387}};t.IfcCoil=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=639361253}};t.IfcCommunicationsAppliance=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3221913625}};t.IfcCompressor=class extends su{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3571504051}};t.IfcCondenser=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2272882330}};t.IfcControllerType=class extends Kp{constructor(t,e,s,i,r,n,a,o,h,c){super(t,e,s,i,r,n,a,o,h),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ApplicableOccurrence=r,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=o,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};t.IfcConveyorSegment=class extends iu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3460952963}};t.IfcCooledBeam=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4136498852}};t.IfcCoolingTower=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3640358203}};t.IfcDamper=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4074379575}};t.IfcDistributionBoard=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3693000487}};t.IfcDistributionChamberElement=class extends qp{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1052013943}};t.IfcDistributionCircuit=class extends Qp{constructor(t,e,s,i,r,n,a){super(t,e,s,i,r,n,a),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.LongName=n,this.PredefinedType=a,this.type=562808652}};class lu extends Zp{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1062813311}}t.IfcDistributionControlElement=lu;t.IfcDuctFitting=class extends eu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=342316401}};t.IfcDuctSegment=class extends iu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3518393246}};t.IfcDuctSilencer=class extends au{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1360408905}};t.IfcElectricAppliance=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1904799276}};t.IfcElectricDistributionBoard=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=862014818}};t.IfcElectricFlowStorageDevice=class extends ru{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3310460725}};t.IfcElectricFlowTreatmentDevice=class extends au{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=24726584}};t.IfcElectricGenerator=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=264262732}};t.IfcElectricMotor=class extends $p{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=402227799}};t.IfcElectricTimeControl=class extends tu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1003880860}};t.IfcFan=class extends su{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3415622556}};t.IfcFilter=class extends au{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=819412036}};t.IfcFireSuppressionTerminal=class extends nu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=1426591983}};t.IfcFlowInstrument=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=182646315}};t.IfcGeomodel=class extends ou{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=2680139844}};t.IfcGeoslice=class extends ou{constructor(t,e,s,i,r,n,a,o){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.type=1971632696}};t.IfcProtectiveDeviceTrippingUnit=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=2295281155}};t.IfcSensor=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4086658281}};t.IfcUnitaryControlElement=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=630975310}};t.IfcActuator=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=4288193352}};t.IfcAlarm=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=3087945054}};t.IfcController=class extends lu{constructor(t,e,s,i,r,n,a,o,h){super(t,e,s,i,r,n,a,o),this.GlobalId=t,this.OwnerHistory=e,this.Name=s,this.Description=i,this.ObjectType=r,this.ObjectPlacement=n,this.Representation=a,this.Tag=o,this.PredefinedType=h,this.type=25142252}}})(Fu||(Fu={})),class{static setLogLevel(t){this.logLevel=t}static log(t,...e){this.logLevel<=4&&console.log(t,...e)}static debug(t,...e){this.logLevel<=1&&console.trace("DEBUG: ",t,...e)}static warn(t,...e){this.logLevel<=3&&console.warn("WARN: ",t,...e)}static error(t,...e){this.logLevel<=4&&console.error("ERROR: ",t,...e)}}.logLevel=4,"undefined"!=typeof document){const t=document.currentScript;void 0!==(null==t?void 0:t.src)&&t.src.substring(0,t.src.lastIndexOf("/")+1)}class Vu{constructor(t,e,s){if(at(this,"_model"),at(this,"_boxes"),at(this,"_localIdsToGeometryIds",new Map),at(this,"_guidToLocalIdMap",new Map),at(this,"_items",new Map),at(this,"_itemDataCache",new Map),at(this,"_itemDataConfig",{attributesDefault:!0,relationsDefault:{attributes:!1,relations:!1}}),at(this,"_spatialStructure",null),at(this,"_virtualModel"),at(this,"_relations",new Map),this._virtualModel=t,this._model=t.data,this._boxes=e,this.preindexGeometryIds(),s&&s.extraRelations)for(const t of s.extraRelations){const{category:e,relation:s,inverseName:i}=t;this.addInverseRelation(e,s,i)}const i=this._model.localIdsArray();if(i){for(let t=0;tvoid 0!==t.categories)),a=t.map((t=>t.categories)).filter((t=>void 0!==t)).flat();for(let o=0;onull==e?void 0:e.test(t)))}if(!h)continue;const c=this._model.attributes(o);if(!c)continue;const l={};for(let t=0;tt.test(u)))),!t)continue;let c=!0;if(a){const{aggregation:t,queries:s}=a,i=[];for(const{name:t,value:r,type:n,negate:a}of s){const s=p.find((e=>t.test(e)));if(!s||void 0===(null==(e=l[s])?void 0:e.value))break;let o=!1;const{value:h,type:c}=l[s];o=r instanceof RegExp?"string"==typeof h&&r.test(h):h===r,void 0!==n&&(o=o&&"string"==typeof c&&n.test(c)),a&&(o=!o),i.push(o)}c="exclusive"===t?i.every((t=>t)):i.some((t=>t))}if(c){const t=p.find((t=>o.test(t)));if(!t||void 0===(null==(s=l[t])?void 0:s.value))continue;const e=n??t;let a=r.get(e);a||(a=new Set,r.set(e,a)),a.add(null==(i=l[t])?void 0:i.value)}}}const o={};for(const[t,e]of r)o[t]=Array.from(e);return o}getAttributeTypes(){const t=new Set;for(let e=0;e=0;e--){const i=this._virtualModel.requests[e];if((i.type===cu.CREATE_ITEM||i.type===cu.UPDATE_ITEM)&&i.localId===s){for(const e in i.data.data){const s=i.data.data[e];t[e]={value:s.value,type:s.type}}return t}}return null}const r=this._model.attributes(i);if(!r)return null;const n={};for(let t=this._virtualModel.requests.length-1;t>=0;t--){const e=this._virtualModel.requests[t];if((e.type===cu.UPDATE_ITEM||e.type===cu.CREATE_ITEM)&&e.localId===s){for(const t in e.data.data){const s=e.data.data[t];n[t]={value:s.value,type:s.type}}return n}}for(let t=0;t=0;t--){const e=this._virtualModel.requests[t];if((e.type===cu.UPDATE_RELATION||e.type===cu.CREATE_RELATION)&&e.localId===s)return e.data.data}if(null===s)return null;const i=this._relations.get(s)??{},r=null==(e=this._model.relationsItemsArray())?void 0:e.indexOf(s);if(void 0===r||-1===r)return Object.keys(i).length>0?i:null;const n=this._model.relations(r);if(!n)return Object.keys(i).length>0?i:null;for(let t=0;t=0;r--){const n=this._virtualModel.requests[r];if(n.type===cu.CREATE_ITEM||n.type===cu.UPDATE_ITEM){if(s.has(n.localId))continue;const r=n.localId;if(i.has(r))continue;for(const s of t)s.test(n.data.category)&&(e[n.data.category]||(e[n.data.category]=[]),i.add(r),e[n.data.category].push(n.localId))}}for(let i=0;i"string"==typeof a&&t.test(a))):e instanceof RegExp?"string"==typeof a&&e.test(a):a===e),void 0!==s&&(t=t&&"string"==typeof o&&s.test(o))),t){l=!0;break}}}(i?!l:l)&&a.push(n)}return a}getItemsByRelation({name:t,targetItemIds:e,sourceItemIds:s}){const i=[],r=s??this.getAllLocalIds();for(const s of r){const r=this.getItemRelations(s),n=null==r?void 0:r[t];if(n)if(e){for(const t of n)if(e.has(t)){i.push(s);break}}else i.push(s)}return i}getItemsByQuery(t,e){var s;const{categories:i,attributes:r,relation:n}=t;let a=null==e?void 0:e.localIds;if(a||(a=(null==(s=null==i?void 0:i.filter(Boolean))?void 0:s.length)?Object.values(this.getItemsOfCategories(i)).flat():void 0),0===(null==a?void 0:a.length))return[];if(r){const t=r.aggregation??"exclusive",e=[];for(const t of r.queries)if(r&&Boolean(t.name)){const s=this.getItemsByAttribute({...t,itemIds:a});e.push(s)}const s=new Set;if("inclusive"===t)for(const t of e)for(const e of t)s.add(e);else{const t=new Map;for(const s of e)for(const e of s){const s=t.get(e);void 0===s?t.set(e,1):t.set(e,s+1)}for(const[i,r]of t)r===e.length&&s.add(i)}a=[...s]}if(0===(null==a?void 0:a.length))return[];if(n&&Boolean(n.name)){const{name:t,query:e}=n,s=e?new Set(this.getItemsByQuery(e)):void 0;a=this.getItemsByRelation({name:t,targetItemIds:s,sourceItemIds:a})}return Array.from(new Set(a))}getTreeItem(t){const e={category:t.category(),localId:t.localId()},s=[];for(let e=0;e0&&(e.children=s),e}preindexGeometryIds(){const t=this._model.meshes(),e=t.meshesItemsLength();for(let s=0;s=t._data.threshold}transform(e,s,i){i||(e*=t._data.factor),this.data=e,this.box.clone(s)}};at(ku,"_data",{threshold:0,factor:-1});let Xu=ku;class Ku{constructor(t){at(this,"_boxes"),at(this,"_min",new $t),at(this,"_max",new $t),this._boxes=t}inflate(t){const e=this._boxes.fullBox.min,s=this.getVector(t,e,"min"),i=this.getVector(t,e,"max");return new se(s,i)}deflate(t,e){this.read(t);const s=[];s.push(this._min.x,this._min.y,this._min.z),s.push(this._max.x,this._max.y,this._max.z),e.set(s)}getVector(t,e,s){const i=t.get("x",s)+e.x,r=t.get("y",s)+e.y,n=t.get("z",s)+e.z;return new $t(i,r,n)}read(t){const{min:e}=this._boxes.fullBox;this._min.subVectors(t.min,e),this._max.subVectors(t.max,e)}}class Zu{constructor(t,e){at(this,"_data"),at(this,"_compressor"),this._data=e,this._compressor=t}frustumCollide(t,e,s=!1){const i=this.getFrustumPlanes(e,t),r=this.getFrustumOnCollide(i),n=this.getFrustumOnIncludes(i),a=this.newDefaultCallback(!0);return this.collide(r,n,a,s)}rayCollide(t,e){const s=this.getRayOnCollide(e),i=this.newDefaultCallback(!1),r=this.getRayOnSeen(t);return this.collide(s,i,r)}addPoint(t,e,s,i){t?i&&e.push(this.getPointData(s)):e.push(this.getPointData(s))}getPointData(t){return this.getPoint(t).data}getBounds(t){const e=this.getPoint(t);return this._compressor.inflate(e.box)}isPoint(t){return this.getPoint(t).isPoint}newDefaultCallback(t){return e=>t}groupSize(t){return this.getPoint(t).size}getPoint(t){return this._data.points[t]}getRayOnSeen(t){let e=this.newDefaultCallback(!0);return(null==t?void 0:t.length)>0&&(e=e=>Pc.collides(e,t)),e}getRayOnCollide(t){return e=>t.intersectsBox(e)}collide(t,e,s,i=!1){const r=this._data.points.length,n=[];let a=0;const o=(t,e)=>{const r=a+this.groupSize(a);for(;a{const r=this.getBounds(a),h=e(r),c=this.isPoint(a),l=h||t(r);c&&l&&s(r)&&this.addPoint(i,n,a,h),l||c?(a++,h&&!c&&o(r,h)):a+=this.groupSize(a)};for(;aPc.isIncluded(e,t)}getFrustumOnCollide(t){return e=>Pc.collides(e,t)}getFrustumPlanes(t,e){const s=[];for(const e of t.planes)s.push(e);if(e)for(const t of e)s.push(t);return s}savePoint(t,e){const s=this.getPoint(t);e.push(s.data)}}class qu{constructor(t){at(this,"_boxes"),at(this,"_total",new $t),at(this,"_change",new $t),at(this,"_average",new $t),at(this,"_tempCenterVector",new $t),at(this,"_tempVectors",{x:new $t,y:new $t,z:new $t}),this._boxes=t}sort(t,e,s){this.average(this._average,t,e,s),this.getDataToTotal(e,s,t);let i=this.anySort(e,s,t);return i=this.adjust(s,e,i),Math.round(i)}anySort(t,e,s){return this._total.x>this._total.y?this._total.x>this._total.z?this.sortDim("x",this._average.x,t,e,s):this.sortDim("z",this._average.z,t,e,s):this._total.y>this._total.z?this.sortDim("y",this._average.y,t,e,s):this.sortDim("z",this._average.z,t,e,s)}getDataToTotal(t,e,s){this._total.set(0,0,0);for(let i=t;ie&&(this.exchange(a,n,r),n++)}return n}exchange(t,e,s){const i=s[t];s[t]=s[e],s[e]=i}getValue(t,e,s){const i=this.getBox(t,e),r=this._tempVectors[s];return i.getCenter(r)[s]}average(t,e,s,i){const r=this.getBox(e,s);return r.getCenter(t),this.aggregate(s,i,e,r,t),t.divideScalar(i-s)}aggregate(t,e,s,i,r){for(let i=t+1;i=t-1-r)&&(s=i),s}getBox(t,e){const s=t[e];return this._boxes.get(s)}}class Qu{constructor(t,e,s){at(this,"_data"),at(this,"_compressor"),at(this,"_boxes"),at(this,"_sorter"),this._data=s,this._compressor=e,this._boxes=t,this._sorter=new qu(t)}make(t,e,s=0,i=0,r=0,n=0){const a=s-i;return 1===a?this.makePoint(t,i,e,n):2===a?this.makeGroup3(n,t,i,e):this.makeGroup(r,t,i,s,n,e)}makeGroup3(t,e,s,i){const r=this.makeBox(t+1,e,s),n=this.makeBox(t+2,e,s+1);return i.combine(r,n),this.newGroup(t,3,i),3}makeGroup(t,e,s,i,r,n){const a=this._data.limits.primary[t],o=this._data.limits.secondary[t],h=this._sorter.sort(e,s,i),c=this.make(e,a,h,s,t+1,r+1),l=r+c+1,p=this.make(e,o,i,h,t+1,l);n.combine(a,o);const u=c+p+1;return this.newGroup(r,u,n),u}makeBox(t,e,s){const i=this._data.points[t].box,r=e[s],n=this._boxes.get(r);return this._compressor.deflate(n,i),this.set(t,r),i}makePoint(t,e,s,i){const r=this._boxes.get(t[e]);return this._compressor.deflate(r,s),this.newPoint(i,t[e],s),1}newGroup(t,e,s){this.get(t).transform(e,s,!1)}get(t){return this._data.points[t]}newPoint(t,e,s){this.get(t).transform(e,s,!0)}set(t,e){this.get(t).data=e}}const Ju=class t{constructor(t){at(this,"_compressor"),at(this,"_collider"),at(this,"_maker"),at(this,"_data"),at(this,"_boxes"),this._boxes=t,this._compressor=new Ku(t),this._data=this.getData(),this._collider=new Zu(this._compressor,this._data),this._maker=new Qu(this._boxes,this._compressor,this._data),this.initData()}collideFrustum(t,e,s=!1){return this._collider.frustumCollide(t,e,s)}collideRay(t,e){return this._collider.rayCollide(t,e)}setupLimits(){for(let e=0;e{const i=t.itemConfig.getHighlight(s);if(i){const s=t.materials.fetch(i);e.push(s)}else e.push(void 0)}}setHighlightProperty(t,e,s){void 0===t[s]&&void 0!==e[s]&&(t[s]=e[s])}getNewHighFromPast(t,e,s){const i=t.materials.fetch(e),r={...s};for(const t of this._highlightProps)this.setHighlightProperty(r,i,t);return r}getCheckEvent(t,e,s){return i=>{const r=t.itemConfig.getHighlight(i);if(void 0===r)s.push(e);else{const i=this.getNewHighFromPast(t,r,e);s.push(i)}}}getCreateEvent(t,e){return(s,i)=>{t.itemConfig.setHighlight(s,e[i])}}resetHighlightForItems(t,e){if(t)for(const s of t)e.itemConfig.setHighlight(s,0);else e.itemConfig.clearHighlight()}}class rE{constructor(){at(this,"_hiddenForEdit",new Set)}resetVisible(t){t.itemConfig.clearVisible(),t.tiles.restart()}getVisible(t,e){const s=t.properties.getItemIdsFromLocalIds(e),i=[];for(const e of s){if(this._hiddenForEdit.has(e))continue;const s=t.itemConfig.visible(e);i.push(s)}return i}getItemsByVisibility(t,e){const s=this.getVisibleCondition(t,e),i=t.getItemsByConfig(s),r=t.properties.getLocalIdsFromItemIds(i);return this.filterHiddenForEdit(r)}toggleVisible(t,e){const s=t.properties.getItemIdsFromLocalIds(e),i=this.filterHiddenForEdit(s),r=this.getToggleEvent(t);t.traverse(i,r),t.tiles.updateVirtualMeshes(i)}setVisible(t,e,s){const i=t.properties.getItemIdsFromLocalIds(e),r=this.filterHiddenForEdit(i),n=this.getSetEvent(t,s);t.traverse(r,n),t.tiles.updateVirtualMeshes(r)}hideForEdit(t,e){this.setVisible(t,e,!1);for(const t of e)this._hiddenForEdit.add(t)}filterHiddenForEdit(t){if(!this._hiddenForEdit.size)return t;const e=[];for(const s of t)this._hiddenForEdit.has(s)||e.push(s);return e}getSetEvent(t,e){return s=>{t.itemConfig.setVisible(s,e)}}getVisibleCondition(t,e){return s=>t.itemConfig.visible(s)===e}getToggleEvent(t){return e=>{const s=t.itemConfig.visible(e);t.itemConfig.setVisible(e,!s)}}}class nE{getGeometriesLength(t){return t.data.meshes().globalTransformsLength()}getSampleGeometry(t,e,s){const i=t.boxes.sampleOf(e),r=[];if(!i)return r;const n=t.data.meshes();for(const e of i){const i=t.tiles.fetchSample(e,s),a=n.sampleIds(e),o=Array.isArray(i.geometries)?i.geometries:[i.geometries],h=n.samples(e),c=n.meshesItems(h.item()),l=t.data.localIds(c);for(const t of o){const e=s===mi.GEOMETRY?t.positionBuffer:new Float32Array(t.positionBuffer);r.push({transform:i.transform.clone(),indices:t.indexBuffer,positions:e,normals:t.normalBuffer,sampleId:a,localId:l})}}return r}getVolume(t,e){let s=0;const i={x:0,y:0,z:0},r={x:0,y:0,z:0},n={x:0,y:0,z:0},a=this.getSampleGeometry(t,e,mi.GEOMETRY);for(const{indices:t,positions:e}of a)if(t&&e)for(let a=0;a{if(!t.indexBuffer||!t.positionBuffer)return;const s=new Bs;s.setIndex(Array.from(t.indexBuffer)),s.setAttribute("position",new bs(t.positionBuffer,3)),e.push(s)})),i.set(c,e)}const l=i.get(c);if(l)for(const e of l){const s=new Js(e),i=t.tiles.getSampleTransform(a);s.applyMatrix4(i),s.updateWorldMatrix(!0,!0),r.push(s)}}}const n=new Float32Array(6e5),a=new bs(n,3,!1),{index:o,indexes:h}=this._sectionGenerator.createEdges({meshes:r,posAttr:a}),c=this._sectionGenerator.createFills(n,h);for(const[,t]of i)for(const e of t)e.dispose();return{buffer:n,index:o,fillsIndices:c}}}class oE{constructor(t){at(this,"_model"),at(this,"sequenceSelectorFunction",{withVisiblity:t=>this._model.getItemsByVisibility(t),highlighted:()=>this._model.getHighlightItemIds(),children:t=>this._model.getItemsChildren(t),ofCategory:t=>{const e=this._model.getItemsOfCategories(t);return Object.values(e).flat()},withCondition:()=>[],withGeometry:()=>this._model.getItemsWithGeometry()}),at(this,"sequenceResultFunction",{attributes:t=>t.map((t=>this._model.getItemAttributes(t))),mergedBoxes:t=>this._model.getBBoxes(t),category:t=>this._model.getItemsCategories(t),children:t=>this._model.getItemsChildren(t),data:(t,...e)=>this._model.getItemsData(t,e[0]),geometry:t=>this._model.getItemsGeometry(t),guid:t=>this._model.getGuidsByLocalIds(t),highlight:t=>this._model.getHighlight(t),relations:t=>t.map((t=>this._model.getItemRelations(t))),visibility:t=>this._model.getVisible(t)}),this._model=t}getSequenced(t,e,s){var i;const r=this.sequenceResultFunction[t];if(!r)return null;let n=[],a=0;for(const t of e){const e=this.sequenceSelectorFunction[t];if(!e)continue;const r=null==(i=null==s?void 0:s.selector)?void 0:i[t];n=e(0===a?r:n),a++}return r(n,null==s?void 0:s.result)}}class hE{traverse(t,e,s){e?this.traverseItems(e,s):this.traverseAllItems(t,s)}getItemsByConfig(t,e){const s=[],i=t.data.localIdsLength();for(let t=0;t{if(this._connection)return this._connection.fetch(t,e)})),this._modelId=t,this._connection=s,this._config={...this._config,...i},this.data=this.setupModel(e),this.boxes=new tE(this.data),this.materials=this.setupMaterials(t),this._alignments=new Wu(this),this._grids=new cE(this),this.itemConfig=this.setupItemsConfig(),this.tiles=this.setupTiles(),this.properties=this.setupProperties(),this.raycaster=this.setupRaycaster(),this.setupBVH(),this._nextId=this.getMaxLocalId()}getItemsByConfig(t){return this._itemsHelper.getItemsByConfig(this,t)}getItemsCategories(t){return this.properties.getItemsCategories(t)}getItemIdsByLocalIds(t){return this.properties.getItemIdsFromLocalIds(t)}getItemAttributes(t){return this.properties.getItemAttributes(t)}getAttributesUniqueValues(t){return this.properties.getAttributesUniqueValues(t)}getItemsData(t,e){return this.properties.getItemsData(t,e)}getItemsOfCategories(t){return this.properties.getItemsOfCategories(t)}getItemsWithGeometry(){return this.properties.getItemsWithGeometry()}getItemsWithGeometryCategories(){return this.properties.getItemsWithGeometryCategories()}getItemsByQuery(t,e){return this.properties.getItemsByQuery(t,e)}getItemRelations(t){return this.properties.getItemRelations(t)}getSpatialStructure(){const t=xu.applyChangesToSpecialData(this.requests,"SPATIAL_STRUCTURE");return t||this.properties.getSpatialStructure()}getMaxLocalId(){return this.properties.getMaxLocalId()}getCategories(){return this.properties.getCategories()}getMetadata(){const t=xu.applyChangesToSpecialData(this.requests,"METADATA");return t||this.properties.getMetadata()}getLocalIdsByGuids(t){return this.properties.getLocalIdsByGuids(t)}getGuidsByLocalIds(t){return this.properties.getGuidsByLocalIds(t)}getSequenced(t,e,s){return this._sequenceHelper.getSequenced(t,e,s)}highlight(t,e){this._highlightHelper.highlight(this,t,e)}getHighlight(t){return this._highlightHelper.getHighlight(this,t)}getHighlightItemIds(){return this._highlightHelper.getHighlightItems(this)}resetHighlight(t){this._highlightHelper.resetHighlight(this,t)}getCoordinates(){return this._coordinatesHelper.getCoordinates(this)}getPositions(t){return this._coordinatesHelper.getPositions(this,t)}getGeometriesLength(){return this._geometryHelper.getGeometriesLength(this)}getGuids(){return this.properties.getGuids()}getLocalIds(){return this.properties.getLocalIds()}getItemsGeometry(t,e=mi.GEOMETRY){const s=this.properties.getItemIdsFromLocalIds(t),i=[];for(const t of s){const s=this._geometryHelper.getSampleGeometry(this,t,e);i.push(s)}return i}getGeometries(t){if(0===this._reprIdMap.size){const t=this.data.meshes();for(let e=0;e{const t=this.updateAllModels()?this._updateDelay:0;setTimeout(e,t)};e()}updateAllModels(){const t=performance.now();let e=!0;for(const[,s]of this._thread.list){const i=s.update(t);e=e&&i;if(performance.now()-t>this._updateThreshold)break}return e}}class NE{constructor(t){at(this,"thread"),at(this,"modelCreator"),at(this,"raycaster"),at(this,"modelDeleter"),at(this,"viewRefresher"),at(this,"boxFetcher"),at(this,"executor"),at(this,"updater"),this.thread=t,this.modelCreator=new pE(t),this.raycaster=new uE(t),this.modelDeleter=new EE(t),this.viewRefresher=new IE(t),this.boxFetcher=new yE(t),this.executor=new TE(t),this.updater=new dE(t)}}class RE{constructor(){at(this,"actions",{}),at(this,"list",new Map),at(this,"controllerManager",new NE(this)),at(this,"_connection")}get connection(){if(!this._connection)throw new Error("Fragments: Connection not set");return this._connection}set connection(t){this._connection=t}useConnection(t){this.connection=new gi((async t=>{await this.actions[t.class](t)})),this.connection.init(t)}getModel(t){const e=this.list.get(t);if(!e)throw new Error(`Fragments: Model not found: ${t}`);return e}}const fE=new RE;globalThis.onmessage=t=>{fE.useConnection(t.data)};export{RE as FragmentsThread}; diff --git a/yarn.lock b/yarn.lock index ead69ee..57670ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1568,7 +1568,7 @@ __metadata: ts-node: ^10.0.0 tsx: ^4.19.2 typescript: 5.4.2 - web-ifc: 0.0.72 + web-ifc: 0.0.73 peerDependencies: three: ">=0.175" web-ifc: ">=0.0.72" @@ -7751,10 +7751,10 @@ __metadata: languageName: node linkType: hard -"web-ifc@npm:0.0.72": - version: 0.0.72 - resolution: "web-ifc@npm:0.0.72" - checksum: cdc5cc682c4fb9597bf99dc1bd88abeee91523eb17a0b3840ed143cc1cddf6d75d42c65274b842ec3f3a33bb9374ae2dbfb8580848d951ab8eee4a35028f5af1 +"web-ifc@npm:0.0.73": + version: 0.0.73 + resolution: "web-ifc@npm:0.0.73" + checksum: a162e3db0568b03265a76b52cbffb1a8d643f1280b8a7d869c110354a14eb10d784d3f790e59474e65fcb1bfcabf6b9a40cc63e944233b52fd3b695ce46c2c4f languageName: node linkType: hard